2

アプリからデータをポーリングする外部サービスを使用しています。この外部サービスの要件は、リクエストが成功したことを最大 10 秒後に通知する必要があることです。問題は、このサービスが接続するスクリプトの実行に 10 秒以上かかる場合があることです。

私の質問は: header('HTTP/1.0 200 OK', true, 200);経由でヘッダーを送信したとき 、外部サービスはこの応答をすぐに受け取りますか、それともスクリプトが完全に実行された後にのみ受け取りますか? 例:

header('HTTP/1.0 200 OK', true, 200);
some_function_that_takes_20_seconds()

応答ヘッダーはすぐに送信されますか、それとも 20 秒後にのみ送信されますか?

4

2 に答える 2

3

flush()呼び出しの直後に呼び出してヘッダーを明示的に送信できますheader()。そうしないと、出力バッファーがフラッシュされるか、スクリプトが終了するまで、ヘッダーは送信されないと思います。

于 2013-08-31T14:44:09.263 に答える