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 回答
0

不确定您是否已解决问题,但请尝试

ignore_user_abort(true);
set_time_limit(0);
header('HTTP/1.0 200 OK', true, 200);
flush();
于 2018-09-24T04:28:12.943 回答