首頁 >後端開發 >php教程 >如何從 PHP 成功運行 Python 腳本?

如何從 PHP 成功運行 Python 腳本?

Susan Sarandon
Susan Sarandon原創
2024-12-24 04:00:09364瀏覽

How Can I Successfully Run a Python Script from PHP?

從 PHP 執行 Python 腳本

PHP 提供了多個執行外部命令的函數,包括 exec、shell_exec 和 system。但是,您在嘗試使用這些函數執行 Python 腳本時可能會遇到問題。

故障排除:

為了解決這個問題,您已嘗試了各種解決方案,包括:

  • 使用不同的Python解釋器
  • 同時使用絕對和相對paths
  • 使用其他指令(例如echo)進行測試

但是,您已經注意到 PHP 仍然沒有輸出。

解決方案:

問題可能不在於 PHP,而在於權限。網路伺服器通常以有限的使用者權限運行,這可能會限制其執行某些命令或存取檔案的能力。

  1. 以Web 伺服器使用者登入:

以網頁伺服器執行時的使用者身分登入您的伺服器(例如, www-data )。

  1. 測試指令:

使用您嘗試在 PHP 中執行的指令,嘗試從終端機作為網路伺服器使用者。例如:

/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2

如果該指令手動運行,則確認問題出在權限上。

  1. 檢查權限:

確保PHP腳本和Python腳本具有正確的權限。 PHP 應具有 PHP 腳本的執行權限,Python 腳本應具有 Web 伺服器使用者的執行權限。

  1. 使用 shell_exec:

PHP 的 shell_exec 函數在執行外部指令時通常比 exec 或 system 更可靠。它會傳回執行命令的完整輸出。使用以下程式碼:

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;
  1. 確保Python 檔案的Shebang 行:

驗證Python 檔案的第一行包含以下內容shebang :

#!/usr/bin/env python

這一行指定Python解釋器

  1. 讓Python 檔案可執行:

如有必要,請使用下列指令使Python 檔案在UNIX 類型平台上執行:

chmod +x myscript.py

以上是如何從 PHP 成功運行 Python 腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn