PHP からの Bash コマンドの実行
shell_exec 関数を使用して PHP から bash スクリプトを実行しようとすると、問題が発生してイライラすることがあります。 ls などのコマンドは正常に機能しますが、カスタム スクリプトの実行は失敗することがあります。
この問題は、多くの場合、PHP の現在の作業ディレクトリが原因で発生します。外部コマンドを呼び出す場合、実行中のスクリプトが正しいディレクトリからアクセスできることを確認することが重要です。
解決策
これを解決するには、chdir 関数を使用して、スクリプトを実行する前に一時的に作業ディレクトリを作成します:
<code class="php">$old_path = getcwd(); chdir('/my/path/'); $output = shell_exec('./script.sh var1 var2'); chdir($old_path);</code>
この手法により、シェル コマンドを呼び出す前に、スクリプトが意図したディレクトリに「存在」することが保証されます。スクリプトのパスは chdir 関数呼び出しで指定できます。スクリプトの実行が完了すると、chdir($old_path) を使用して元の作業ディレクトリが復元されます。
以上がPHP から Bash スクリプトを実行し、作業ディレクトリの問題を回避する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。