0

バックグラウンドで実行する必要があるphpスクリプトがあります。現在、実行している開発ボックスで

shell_exec("php5-cgi <path>");

それは正常に動作します。ただし、コードを専用の phpfog クラウドにプッシュしたところ、スクリプトが呼び出されていないようです。問題がどこにあるのかわかりません。exec_shell が動かないのか、php5-cgi コマンドが存在しないのか。

何が起こっているのかをよりよく理解するにはどうすればよいですか?

4

1 に答える 1

1

5-cgiexec呼び出しからドロップしてみてください。

exec_shell("php <path>");

さらに、これにはcronジョブを使用できます:http://docs.phpfog.com/customize/cron

必要に応じて機能する間隔で実行するcronジョブを作成し<path>ます(パスがphpファイルであると想定)。PHPFogはこれを非常に簡単にします。

ブラウザに結果を待たせずに、長時間実行されるタスクを実行しようとしている場合は、データベーステーブルでキューに入れてから、cronジョブを使用して、キューに入れられたタスクを処理するphpスクリプトを実行することをお勧めします。クライアントからのajax呼び出しを使用してタスクのステータスを確認し、タスクが完了したらページを更新します。

于 2012-07-16T08:05:12.723 に答える