- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPのexec()関数)
PHPのexec()関数で別のスクリプトを実行する際のエラーについて
このQ&Aのポイント
- PHPのexec()関数を使用して別のPHPスクリプトを実行しようとすると、エラーが発生します。
- 開始行にシェバング行を追加すると、実行時エラーが発生します。
- 問題の原因は、実行するスクリプトのパスが正しく設定されていないことです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そのPHPスクリプトで使われている改行コードを確認してみてください。 Windowsの改行コード(CR+LF)で書かれたスクリプトをUNIX系のプラットフォームで実行しようとするとそのような問題が起きる場合があります。
その他の回答 (1)
- asciiz
- ベストアンサー率70% (6809/9681)
回答No.2
child.php は、PHPスクリプトが書かれているテキストファイルですよね。 テキストファイルは、Linuxの実行可能ファイルではありません。 コマンドラインから*.phpファイルを実行しようとしたときは、関連づけによりphpコマンドにPHPスクリプトファイルが与えられるから、実行できています。 exec() で実行したい場合には、スクリプトファイルでは無く、きちんと「実行ファイル パラメータ」を書かねばなりません。 例えば、 exec('/usr/bin/php child.php', ~ ) のようにしなければならないでしょう。 ※PHPのインストールパスは 「which php」を実行して確認してください。 ※※また、child.php も絶対パス指定した方が良いでしょう。
お礼
早々にありがとうざいました. ご指摘の通り、改行が CR+LFでしたので LFのみで保存しアップロードしたらエラーは解消しました。 かなりしつこく検索したのに、この情報は見つけられませんでした。 助かりました。 本当にありがとうございました。