在這個問題中,我們遇到一位PHP 開發人員嘗試使用shell_exec 從PHP 執行bash 腳本。使用的語法為:
$output = shell_exec("./script.sh var1 var2");
但是,當呼叫指令時腳本無法執行。
要調試此問題,確定失敗的原因很重要。由於使用 ./script.sh var1 var2 透過命令列運行時腳本執行成功,問題可能出在 PHP 程式碼中。
導致腳本執行失敗的常見問題是目錄權限或路徑不正確。 PHP 腳本通常需要在執行外部命令之前設定正確的工作目錄。要解決此問題,程式碼可以在呼叫 shell_exec 之前使用 chdir 指定正確的目錄。
以下程式碼片段解決了此問題:
$old_path = getcwd();
chdir('/my/path/');
$output = shell_exec('./script.sh var1 var2');
chdir($old_path);
在這個例子中,我們:
By確保正確的目錄就位,修改後的程式碼應該會成功執行 PHP 中的 bash 腳本。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3