PHP connection_aborted不能与nginx一起使用?

时间:2010-05-22 12:45:37

标签: php nginx

我似乎无法将函数connection_aborted与nginx一起使用。我以前测试的代码如下:

<?php
ignore_user_abort(true);
ob_implicit_flush();
$i = 0;
while (!connection_aborted()) {
    echo $i;
    $i++;
    sleep(1);
}
file_put_contents('test',$i);

在Apache中,它可以正常工作,虽然它有点延迟。即,当我在“3”时按下浏览器上的停止按钮时,“测试”文件显示“8”。这是一个可接受的余量,但在nginx上,它似乎没有输出任何“test”文件。

2 个答案:

答案 0 :(得分:5)

检查你的Nginx配置,它应该有

fastcgi_ignore_client_abort off;

此配置密钥默认为off,因此即使您根本没有fastcgi_ignore_client_abort,您的脚本也应按预期工作。

答案 1 :(得分:0)

我的猜测是“connection_aborted()”无法检测到“ABORTED”连接 (并且脚本仍在运行