この質問では、PHP 開発者が Shell_exec を使用して PHP から bash スクリプトを実行しようとしています。使用される構文は次のとおりです:
$output = shell_exec("./script.sh var1 var2");
ただし、このコマンドが呼び出されるとき、スクリプトは実行に失敗します。
この問題をデバッグするには、失敗の原因を特定することが重要です。 ./script.sh var1 var2 を使用してコマンド ラインから実行するとスクリプトは正常に実行されるため、問題は PHP コード内にある可能性があります。
スクリプトの実行エラーを引き起こす可能性がある一般的な問題の 1 つは、ディレクトリのアクセス許可またはパスが正しくないことです。 。 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