Tôi biết rằng có những câu hỏi tương tự về Stackoverflow nhưng tôi đã thử tất cả chúng và không ai trong số họ làm việc. Trên máy tính xách tay của tôi, tôi có một máy chủ Apache, một trang web được xây dựng với PHP và tập lệnh Python.
Attempts:
1) Hệ thống
$mystring = system('python myscript.py myargs', $retval);2) và 3) JSON và $ TEMP = EXEC ($ Lệnh, $ ra);
php:
#first case command= 'C:\wamp\www\com\non.py file'; $temp = exec($command, $output); echo(" output "); echo $output; echo " hello "; echo $temp; #second case // Execute the python script with the JSON data $result = shell_exec('python /confronto/non.py '); #. escapeshellarg(json_encode($data))); // Decode the result $resultData = json_decode($result, true); // This will contain: array('status' => 'Yes!') var_dump($resultData);python:
import sys, json def tests(): b = 2 print("inside test") print(b) a = 4 return a #if __name__ == "__main__": c = tests() print("main") print(c) # Generate some data to send to PHP result = {'status': 'Yes!'} # Send it to stdout (to PHP) print json.dumps(result)4) Cấu hình Apache được thiết lập:
AddHandler cgi-script .cgi .pyĐể gọi tệp Python từ trong tệp PHP, bạn cần gọi nó bằng hàm shell_exec.
Ví dụ
<?php $command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output; ?>Làm thế nào để Python tích hợp mô hình PHP?
#!/usr/bin/env pythonNgoài ra, bạn cũng có thể cung cấp trình thông dịch khi thực hiện lệnh.
Ví dụ
<?php $command = escapeshellcmd('python3 /usr/custom/test.py'); $output = shell_exec($command); echo $output; ?>
Cập nhật vào ngày 13 tháng 12 năm 2019 10:47:39
- Câu hỏi và câu trả lời liên quan
- Tải xuống tệp thông qua cuộc gọi AJAX trong PHP
- Làm thế nào để gọi mô -đun Python từ dòng lệnh?
- Làm thế nào để tìm và thay thế trong một tệp văn bản bằng Python?
- Làm thế nào để biết vị trí hiện tại trong một tệp trong Python?
- Làm thế nào để lấy tên tệp từ một đường dẫn trong PHP?
- Làm thế nào chúng ta có thể gọi chức năng Python từ MATLAB?
- Làm thế nào để gọi một hàm từ một chuỗi được lưu trữ trong một PHP biến?
- Đọc dòng cuối cùng từ tệp trong PHP
- Làm thế nào tôi có thể lấy một tệp python từ một tệp python khác?
- Tệp PHP: //
- Làm thế nào để gọi các chức năng C ++ từ Java?
- Làm thế nào để tạo một từ điển Python từ tệp văn bản?
- Làm thế nào để hiển thị lỗi trong tệp PHP?
- Làm thế nào để buộc tải xuống tệp với PHP?
- Cách lặp lại tệp XML trong PHP
PHP (là một từ viết tắt đệ quy cho bộ tiền xử lý của PHP) là một trong những công nghệ phát triển web được sử dụng rộng rãi nhất trên thế giới. Mã PHP được sử dụng để phát triển các trang web và ứng dụng web có thể được nhúng trực tiếp cùng với phần còn lại của đánh dấu HTML. Điều này, cùng với một lượng thư viện phong phú để thực hiện các tác vụ hệ thống hoặc để tích hợp với ứng dụng khác, làm cho PHP trở thành ngôn ngữ cho Internet. (which is a recursive acronym for PHP Hypertext Preprocessor) is one of the most widely used web development technologies in the world. PHP code used for developing websites and web applications can be embedded directly along with the rest of the HTML markup. This, along with a rich amount of libraries to perform system tasks, or to integrate with other application, makes PHP the go-to language for the Internet.
Mặc dù có rất nhiều thư viện (hoặc mô -đun) trong PHP, nhưng có thể có trường hợp khi một mô -đun cho một nhiệm vụ nhất định bị thiếu hoặc không được thực hiện đúng; trong khi cùng một mô -đun có sẵn trong Python.libraries (or modules) in PHP, there can be cases when a module for a certain task is either missing or is not properly implemented; while the same module is available in Python.
Ngoài ra, đối với một số tác vụ kịch bản nhất định, người dùng có thể thấy Python phù hợp hơn, trong khi anh ta thấy PHP phù hợp với phần còn lại của cơ sở mã của mình.Python more suitable, while he finds PHP suitable for the rest of his codebase.
Trong bài viết này, chúng tôi sẽ xem xét cách một tập lệnh Python có thể được chạy từ một trình thông dịch PHP trong một thiết bị đầu cuối Linux.Python script can be run from a PHP interpreter in a Linux terminal.
Gọi một tập lệnh Python trong PHP
Chúng ta hãy xem xét mã PHP sau (Test.php).test.php).
<?php $string = 'Example String\n'; ?>Lưu ý: #first case command= 'C:\wamp\www\com\non.py file'; $temp = exec($command, $output); echo(" output "); echo $output; echo " hello "; echo $temp; #second case // Execute the python script with the JSON data $result = shell_exec('python /confronto/non.py '); #. escapeshellarg(json_encode($data))); // Decode the result $resultData = json_decode($result, true); // This will contain: array('status' => 'Yes!') var_dump($resultData); 3 ở cuối chuỗi là ký tự dòng mới, sẽ di chuyển con trỏ sang dòng mới cho các lệnh tiếp theo trên thiết bị đầu cuối.: The #first case command= 'C:\wamp\www\com\non.py file'; $temp = exec($command, $output); echo(" output "); echo $output; echo " hello "; echo $temp; #second case // Execute the python script with the JSON data $result = shell_exec('python /confronto/non.py '); #. escapeshellarg(json_encode($data))); // Decode the result $resultData = json_decode($result, true); // This will contain: array('status' => 'Yes!') var_dump($resultData); 3 at the end of the string is a newline character, which will move the cursor to the new line for the next commands on the terminal.
Bây giờ, hãy gọi một tập lệnh Python đơn giản ‘#first case command= 'C:\wamp\www\com\non.py file'; $temp = exec($command, $output); echo(" output "); echo $output; echo " hello "; echo $temp; #second case // Execute the python script with the JSON data $result = shell_exec('python /confronto/non.py '); #. escapeshellarg(json_encode($data))); // Decode the result $resultData = json_decode($result, true); // This will contain: array('status' => 'Yes!') var_dump($resultData); 4, chỉ đơn giản là in‘ Xin chào thế giới.Hello World’.
$ cat test.py print(“Hello World”)Để gọi tập lệnh này từ PHP, hãy sử dụng chức năng ‘Exec.PHP, use the ‘exec’ function.
<?php $string = 'Example String\n'; $pyout = exec(‘python test.py’); echo $pyout; echo “\n”; ?>Chúng ta có thể gọi tập lệnh với chương trình dòng lệnh ‘PHP, không có gì ngoài trình thông dịch PHP.‘php’, which is nothing but the PHP interpreter.
#first case command= 'C:\wamp\www\com\non.py file'; $temp = exec($command, $output); echo(" output "); echo $output; echo " hello "; echo $temp; #second case // Execute the python script with the JSON data $result = shell_exec('python /confronto/non.py '); #. escapeshellarg(json_encode($data))); // Decode the result $resultData = json_decode($result, true); // This will contain: array('status' => 'Yes!') var_dump($resultData); 0run python script sử dụng PHPNhư chúng ta có thể thấy, đầu ra của python script test.py đã được hiển thị.test.py was displayed.
Tiếp theo, hãy để Lừa xem xét tệp tập lệnh Python sau đây, ‘test2.py, có một đối số, một chuỗi và in nó.test2.py’, which takes one argument, a String, and prints it.
#first case command= 'C:\wamp\www\com\non.py file'; $temp = exec($command, $output); echo(" output "); echo $output; echo " hello "; echo $temp; #second case // Execute the python script with the JSON data $result = shell_exec('python /confronto/non.py '); #. escapeshellarg(json_encode($data))); // Decode the result $resultData = json_decode($result, true); // This will contain: array('status' => 'Yes!') var_dump($resultData); 1Bây giờ, hãy để Gọi tập lệnh này từ PHP, vượt qua đối số.
#first case command= 'C:\wamp\www\com\non.py file'; $temp = exec($command, $output); echo(" output "); echo $output; echo " hello "; echo $temp; #second case // Execute the python script with the JSON data $result = shell_exec('python /confronto/non.py '); #. escapeshellarg(json_encode($data))); // Decode the result $resultData = json_decode($result, true); // This will contain: array('status' => 'Yes!') var_dump($resultData); 2Execute python script sử dụng PHPNhư chúng ta có thể thấy, tập lệnh Python đã được thực thi và in giá trị tham số ‘ví dụ.Example’.
Sự kết luậnTrong bài viết này, chúng tôi đã thấy cách gọi một tập lệnh Python từ trong mã PHP của chúng tôi. Điều này có thể được sử dụng trên các tập lệnh python phức tạp hơn, đầu ra sẽ được lưu trữ trong biến PHP như trong các ví dụ của chúng tôi ở trên.
Điều này đặc biệt có thể hữu ích khi một số thư viện Python phức tạp, ví dụ. Các thư viện Khoa học Dữ liệu và Học máy, sẽ được sử dụng. Nếu bạn có bất kỳ câu hỏi hoặc phản hồi, hãy chắc chắn rằng bạn để lại nhận xét bên dưới!