exec()関数を使用してバックグラウンドで実行するPHPスクリプトをトリガーしようとしていますが、動作させることができません。私はスタックオーバーフローや他のフォーラムで数え切れないほどの投稿を読み、無駄に多くのバリエーションを試しました。
サーバー情報:
Operating System: Linux
PHP: 5.2.17
Apache Version: 2.2.23
Home Directory: /home1/username
私は現在コードを使用しています:
exec("/home1/username/php /home1/username/public_html/myscript.php > /dev/null &");
上記のスクリプトを実行すると、cPanelエラーログにerror_logもエラーも表示されませんが、スクリプトは確実に実行されません。http://www.mydomain.com/myscript.phpにアクセスすると、実行され、すぐに電子メールが送信されます。なぜこれが機能しないのか/どのようなエラーが発生しているのかを知る方法はありますか?
cPanelProcessManagerの出力を更新する
exec("php /home1/username/php /home1/username/public_html/myscript.php > /dev/null &");
生産:
27183 php /home1/username/php /home1/username/public_html/myscript.php
27221 [sh]
27207 php /home1/username/php /home1/username/public_html/myscript.php
27219 php /home1/username/php /home1/username/public_html/myscript.php
27222 php /home1/username/php /home1/username/public_html/myscript.php
27224 php /home1/username/php /home1/username/public_html/myscript.php
27249 sh -c php /home1/username/php /home1/username/public_html/myscript.php > /dev/null &
それは正常ですか?スクリプトは非常に高速に実行されるはずですが、長い間ぶらぶらしているように見えます。