嘗試在 PHP 中使用 exec() 執行 Python 腳本時,遇到缺少輸出的情況可能會令人沮喪。出現此問題的原因有很多,但以下綜合指南將有助於解決該問題。
確保正確輸入指令。在您的情況下,請檢查以下內容:
另外,嘗試一個簡單的echo 命令來測試命令執行功能:
if (exec('echo TEST') == 'TEST') { echo 'exec works!'; }
如果echo 命令有效,則表明核心執行功能正常運行,縮小問題範圍。
執行 PHP 腳本的使用者帳號可能沒有足夠的權限。 Apache 通常在使用者 www-data 下執行,因此請以該使用者或具有類似權限的其他使用者身分登錄,並嘗試手動執行命令。如果執行成功,則問題出在權限。
考慮使用shell_exec() 來取代exec(),它提供了更大的彈性:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Python 腳本必須在第一個腳本中使用適當的shebang行進行正確設定line:
#!/usr/bin/env python
Python 腳本 (test.py) 及其中的任何指令都必須具有適當的權限。例如,chmod x test.py 設定可執行權限。
以上是為什麼我的 PHP 程式碼不能執行我的 Python 腳本並顯示輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!