Hướng dẫn can you run a python script from php? - bạn có thể chạy một tập lệnh python từ php không?

Được thử nghiệm trên máy chủ Ubuntu 10.04. Tôi hy vọng nó cũng giúp bạn trên Arch Linux.

Trong PHP sử dụng chức năng shell_exec:

Thực thi lệnh qua shell và trả về đầu ra hoàn chỉnh dưới dạng chuỗi.

Nó trả về đầu ra từ lệnh được thực thi hoặc null nếu xảy ra lỗi hoặc lệnh không tạo ra đầu ra.

<?php 

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;

?>

Vào tệp Python test.py, xác minh văn bản này trong dòng đầu tiên: (xem Shebang giải thích):

#!/usr/bin/env python

Nếu bạn có một số phiên bản Python được cài đặt,/usr/bin/env sẽ đảm bảo trình thông dịch được sử dụng là phiên bản đầu tiên trên đường dẫn $ của bạn. Giải pháp thay thế sẽ là mã hóa cứng như #!/Usr/bin/python; Đó là ok, nhưng ít linh hoạt hơn.

Trong Unix, một tệp thực thi có nghĩa là được giải thích có thể chỉ ra những thông dịch viên nào sẽ sử dụng bằng cách có #! Khi bắt đầu dòng đầu tiên, theo sau là thông dịch viên (và bất kỳ cờ nào nó có thể cần).

Tất nhiên, nếu bạn đang nói về các nền tảng khác, quy tắc này không được áp dụng (nhưng đó là "Shebang Line" không có hại và sẽ giúp nếu bạn sao chép tập lệnh đó vào nền tảng có cơ sở UNIX, chẳng hạn như Linux, Mac , vân vân).

Điều này áp dụng khi bạn chạy nó trong Unix bằng cách làm cho nó thực thi (CHMOD +X myscript.py) và sau đó chạy trực tiếp: ./myscript.py, thay vì chỉ python myscript.py

Để thực thi một tệp trên các nền tảng kiểu UNIX:

chmod +x myscript.py

Ngoài ra, tệp Python phải có các đặc quyền chính xác (thực thi cho người dùng www-data / apache nếu tập lệnh PHP chạy trong trình duyệt hoặc curl) và / hoặc phải "thực thi". Ngoài ra tất cả các lệnh vào tệp

#!/usr/bin/env python
0 phải có các đặc quyền chính xác.

Lấy từ hướng dẫn sử dụng PHP:

Chỉ cần một lời nhắc nhở nhanh chóng cho những người cố gắng sử dụng shell_exec trên một nền tảng kiểu UNIX và dường như không thể làm cho nó hoạt động. PHP thực thi với tư cách là người dùng web trên hệ thống (thường là www cho Apache), vì vậy bạn cần đảm bảo rằng người dùng web có quyền đối với bất kỳ tệp hoặc thư mục nào mà bạn đang cố gắng sử dụng trong lệnh shell_exec. Khác khôn ngoan, nó dường như sẽ không làm gì cả.

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 ý:

#!/usr/bin/env python
1 ở cuối chuỗi là một ký tự 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
#!/usr/bin/env python
1 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 ‘test.py, 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.

$ cat test.py
$ cat test.php
$ php test.php
Run python tập lệnh sử dụng PHP
Hướng dẫn can you run a python script from php? - bạn có thể chạy một tập lệnh python từ php không?
Run Python Script Using PHP

Như 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.

$ cat test2.py

import sys
print(sys.argv[1])

Bây giờ, hãy để Gọi tập lệnh này từ PHP, vượt qua đối số.

$ cat test.php
$ php test.php
Execute Python Script sử dụng PHP
Hướng dẫn can you run a python script from php? - bạn có thể chạy một tập lệnh python từ php không?
Execute Python Script Using PHP

Như 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ận

Trong 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!

Bạn có thể chạy Python từ PHP không?

Để gọi tệp Python từ trong tệp PHP, bạn cần gọi nó bằng hàm shell_exec.you need to call it using the shell_exec function.

Làm cách nào để chạy tập lệnh Python từ tập lệnh PHP?

PHP $ lệnh_exec = escapeshellcmd ('path-to-.py-file');$ str_output = shell_exec ($ Command_exec);echo $ str_output;?> Các đặc quyền đúng cần phải được đưa ra để tập lệnh Python được thực hiện thành công.Lưu ý - Trong khi làm việc trên một loại nền tảng UNIX, mã PHP được thực thi dưới dạng người dùng web. py-file'); $str_output = shell_exec($command_exec); echo $str_output; ?> The right privileges need to be given so that the python script is successfully executed. Note − While working on a Unix type of platform, PHP code is executed as a web user.

Tôi có thể chạy PHP và Python trên cùng một máy chủ không?

Hoàn toàn có thể, như một vấn đề thực tế bạn đã nghe nói về PIP chưa?Tôi thậm chí đã gọi Python mà không có các dòng Pip và Echo trong bảng HTML trước đây.Hoạt động như một sự quyến rũ.Lưu câu trả lời này., as a matter of fact have you heard of PiP? I have even called Python without PiP and echo out lines in an HTML table before. Works like a charm. Save this answer.

Làm cách nào để chạy kịch bản Python trong HTML?

Giới thiệu với Pyscript: Chạy Python trong trình duyệt..
Tạo chỉ mục.Tệp HTML ..
Tạo chính.Tệp PY ..
Liên kết chính.Tệp PY trong tệp HTML ..
Mở chỉ mục.Tệp HTML trong trình duyệt ..