5

実行をトリガーするためだけに、クライアントがサーバーにリクエストを送信するにはどうすればよいでしょうか。サーバーはすぐにレスポンスを送信し、リクエストされたコードを実行します。これに似ています:

echo 'the execution is starting';
exit;
execution_function(); // <--- is it possible to this function being executed after exit 

サーバーがリクエストを実行している間にクライアントが他のことをできるように、レスポンスを即時にしたい。

4

4 に答える 4

10

register_shutdown_function()を使用して、PHPの終了時に実行されるコールバック関数を設定できます。

于 2012-07-15T05:10:52.373 に答える
2

exit() 、 die() の後に register_shutdown_function() を使用できます。この関数を使用して致命的なエラーをエラー レジスタ ログに登録することもできます。非常に便利です。

于 2019-08-28T22:36:02.070 に答える
0

それはできないと思います。

通常、私が行うことは、別のPHPファイル内の別の外部スクリプトに対してexec()を呼び出し、コマンドの最後に「> / dev / null&」を付け、直後にexit()を付けることです。

呼び出されたスクリプトの実行中にexec()を呼び出したスクリプトが実行されないようにします。

于 2012-07-15T05:17:14.430 に答える
-4

それは不可能です。その理由は、exit 関数を呼び出すと、PHP はその後の処理をすべて停止するからです。通常の使用法では、成功の条件付きアクションに到達する可能性がゼロであるため、エラーを検出した場合にスクリプトの実行を停止します。

スクリプトの実行と実行を継続したい場合は、実行したいことを exit 関数の前に配置します。

于 2012-07-15T05:01:25.753 に答える