質問
今日、タイマーを使用するとシェルスクリプトが実行され、ログが正常に出力されることを発見しましたが、現在のシェルスクリプトの実行結果がシステム。
私は Web プログラムを使用しているため、シェル呼び出しも初めてです。これまでこの問題に遭遇したことがないので、推測することしかできません。
判断
1. シェルスクリプトの問題。
検証方法: システム コンソールに入り、スクリプトを直接呼び出して、スクリプトが正常であることを確認します。スクリプト自体のトラブルシューティングを行います。
2. 問題が権限に起因するかどうかを判断する
検証方法: コンソールに入り、実行ログ author.log を表示します。案の定、アカウントの権限に問題があることを示すメッセージが表示されました。
ls シェル スクリプトの情報を確認し、Web プログラムのユーザーとシェル スクリプトの許可されたユーザーが同じアカウントではないことを確認します。同じアカウントに変更してプログラムを再起動すると、問題が解決します。
結論:
同様の問題は、基本的に上記 2 つの側面によって引き起こされます。例外が発生した場合はログを確認してください。基本的にはすべての問題が出力されます。
PHP 関連の知識の詳細については、PHP チュートリアル をご覧ください。
以上がPHPのWebプログラムでshell_exec()がシェルスクリプトの実行に失敗する問題を解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。