在這個問題中,我們遇到一位PHP 開發人員嘗試使用shell_exec 從PHP 執行bash 腳本。使用的語法是:
<code class="php">$output = shell_exec("./script.sh var1 var2");</code>
但是,在呼叫此指令時腳本無法執行。
要除錯此問題,確定失敗的原因很重要。由於使用 ./script.sh var1 var2 透過命令列運行時腳本執行成功,問題可能出在 PHP 程式碼中。
導致腳本執行失敗的常見問題是目錄權限或路徑不正確。 PHP 腳本通常需要在執行外部命令之前設定正確的工作目錄。要解決此問題,程式碼可以在呼叫 shell_exec 之前使用 chdir 指定正確的目錄。
以下程式碼段解決了此問題:
<code class="php">$old_path = getcwd(); chdir('/my/path/'); $output = shell_exec('./script.sh var1 var2'); chdir($old_path);</code>
在此範例中,我們:
透過確保正確的目錄就位,此修改後的程式碼應該會成功執行 PHP 中的 bash 腳本。
以上是為什麼使用“shell_exec”從 PHP 調用時我的 Bash 腳本無法執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!