【问题标题】:PHP connection_aborted doesn't work with nginx?PHP connection_aborted 不适用于 nginx?
【发布时间】:2010-05-22 12:45:37
【问题描述】:

我似乎无法让函数 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 上,它似乎没有向“测试”文件输出任何内容。

【问题讨论】:

    标签: php nginx


    【解决方案1】:

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

    fastcgi_ignore_client_abort off;
    

    这个配置键默认有off,所以即使你根本没有fastcgi_ignore_client_abort,你的脚本也应该能按预期工作。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这也是我的猜测,但我正在寻找解决方案,除非你告诉我这是 nginx 的错误......
      猜你喜欢
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 2013-12-08
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 2016-01-06
      相关资源
      最近更新 更多