PHP 中的exec() 函數故障排除
面對exec() 函數的問題可能會令人沮喪,尤其是當它不產生任何結果時效果明顯。本文提供了一個全面的指南來幫助您調試和解決此類問題。
問題:
儘管禁用了 safe_mode 和,但 exec() 函數無法在伺服器上執行命令驗證控制台命令的功能。應用程式的權限已正確設定。
程式碼片段:
已嘗試以下程式碼片段:
echo exec('/usr/bin/whoami'); echo exec('whoami'); exec('whoami 2>&1',$output,$return_val); if($return_val !== 0) { echo 'Error<br>'; print_r($output); } exec('/usr/bin/whoami 2>&1',$output,$return_val); if($return_val !== 0) { echo 'Error<br>'; print_r($output); }
最後兩個程式碼片段顯示錯誤和空數組。伺服器支援無法提供幫助。
解決方案:
檢查disable_functions:
如果存在,請將其刪除並重新啟動 Apache。
啟用偵錯模式:
#!/usr/bin/php ini_set("display_errors", 1); ini_set("track_errors", 1); ini_set("html_errors", 1); error_reporting(E_ALL);
手動執行腳本:chmod x myscript.php 和 ./myscript.php。
以上是為什麼我的 PHP exec() 函數不工作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!