從PHP 執行Bash 指令:對未執行的腳本進行故障排除
使用者在從PHP 檔案執行Bash 腳本時遇到困難。儘管嘗試使用 shell_exec 和 system,該腳本仍然未執行。但是,其他命令(例如“ls”)使用 shell_exec 可以正常運作。
潛在原因和解決方案:
問題很可能源自於從錯誤的目錄執行腳本。為了解決這個問題,使用者需要在執行腳本之前將目前工作目錄變更為腳本所在的目錄。這確保了腳本執行的正確上下文。
程式碼片段:
以下程式碼片段示範如何正確執行Bash 腳本:
<code class="php">$old_path = getcwd(); chdir('/my/path/'); // Change to the script's directory $output = shell_exec('./script.sh var1 var2'); chdir($old_path); // Return to the previous working directory</code>
在此程式碼中,getcwd() 檢索目前工作目錄,chdir('/my/path/') 將工作目錄設定為腳本的路徑,shell_exec('./script.sh var1 var2') 執行給定參數的腳本,並且chdir($old_path)恢復到以前的工作目錄。
以上是為什麼我的 Bash 腳本不能從 PHP 執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!