次のようないくつかのディレクトリでファイルを実行するスクリプトがあります。
exec("php-cli $file_path > /dev/null 2>/dev/null &"); //php command-line
これはほとんどのホストで機能しますが、一部のホストではこれが気に入らず、実行されず、エラーが発生しません。
これが失敗するホストの場合、私は使用します
exec("php $file_path > /dev/null 2>/dev/null &"); //notice the -cli is gone
これはうまくいきます。
$file_path は、実行中のファイルへのフル パスです /home/blah/path/blah.php
これを均一にして、すべてのサーバーで動作するようにするにはどうすればよいですか (少なくとも UNIX)
**編集* *
まあ、私はこのようにやっています。それは(おそらく)正しい方法ではありませんが、うまくいきます。
php-cli または php を使用する代わりに、両方を使用するので、一方が失敗した場合、もう一方が通過します。php は cgi または cli として実行されており、これらのいずれかがキャッチされます。また、出力がないため、エラーも発生しません。
exec("php-cli $file_path > /dev/null 2>/dev/null &");
exec("php $file_path > /dev/null 2>/dev/null &");
あなたがより良い解決策を知らない限り、私に知らせてください。ご助力いただきありがとうございます。