首頁 >後端開發 >php教程 >為什麼我的 PHP 程式碼不能執行我的 Python 腳本並顯示輸出?

為什麼我的 PHP 程式碼不能執行我的 Python 腳本並顯示輸出?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-18 19:33:10355瀏覽

Why Isn't My PHP Code Executing My Python Script and Showing Output?

從 PHP 執行 Python 腳本

嘗試在 PHP 中使用 exec() 執行 Python 腳本時,遇到缺少輸出的情況可能會令人沮喪。出現此問題的原因有很多,但以下綜合指南將有助於解決該問題。

驗證指令結構

確保正確輸入指令。在您的情況下,請檢查以下內容:

  • Python 解釋器路徑(/usr/bin/python2.7)
  • 絕對路徑與相對路徑(絕對路徑和相對路徑都應該有效)
  • 使用不同的執行指令(exec、shell_exec、 system)

另外,嘗試一個簡單的echo 命令來測試命令執行功能:

if (exec('echo TEST') == 'TEST')
{
    echo 'exec works!';
}

如果echo 命令有效,則表明核心執行功能正常運行,縮小問題範圍。

Web 伺服器使用者權限

執行 PHP 腳本的使用者帳號可能沒有足夠的權限。 Apache 通常在使用者 www-data 下執行,因此請以該使用者或具有類似權限的其他使用者身分登錄,並嘗試手動執行命令。如果執行成功,則問題出在權限。

使用Shell 執行

考慮使用shell_exec() 來取代exec(),它提供了更大的彈性:

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

Python 腳本配置

Python 腳本必須在第一個腳本中使用適當的shebang行進行正確設定line:

#!/usr/bin/env python

檔案權限

Python 腳本 (test.py) 及其中的任何指令都必須具有適當的權限。例如,chmod x test.py 設定可執行權限。

故障排除提示

  • 檢查錯誤日誌以取得任何線索。
  • 啟用 PHP 錯誤報告 (display_errors = 開)。
  • 驗證網路伺服器使用者是否有權限存取所需檔案並目錄。
  • 確保 Python 腳本中的指令具有必要的權限。

以上是為什麼我的 PHP 程式碼不能執行我的 Python 腳本並顯示輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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