• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPのexec()関数)

PHPのexec()関数で別のスクリプトを実行する際のエラーについて

このQ&Aのポイント
  • PHPのexec()関数を使用して別のPHPスクリプトを実行しようとすると、エラーが発生します。
  • 開始行にシェバング行を追加すると、実行時エラーが発生します。
  • 問題の原因は、実行するスクリプトのパスが正しく設定されていないことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.1

そのPHPスクリプトで使われている改行コードを確認してみてください。 Windowsの改行コード(CR+LF)で書かれたスクリプトをUNIX系のプラットフォームで実行しようとするとそのような問題が起きる場合があります。

creative_soso
質問者

お礼

早々にありがとうざいました. ご指摘の通り、改行が CR+LFでしたので LFのみで保存しアップロードしたらエラーは解消しました。 かなりしつこく検索したのに、この情報は見つけられませんでした。 助かりました。 本当にありがとうございました。

その他の回答 (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 も絶対パス指定した方が良いでしょう。

関連するQ&A