首頁  >  文章  >  後端開發  >  為什麼我的 Bash 腳本不能從 PHP 執行?

為什麼我的 Bash 腳本不能從 PHP 執行?

DDD
DDD原創
2024-11-04 21:00:02738瀏覽

Why are My Bash Scripts Not Executing from PHP?

從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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn