如何使用 nginx+PHP-FPM 启用 PHP 的flush()?

Abr*_*egh 5 php nginx php-fpm

我正在使用带有 PHP-FPM 的 nginx(安装了 APC)。

我需要 PHPflush()才能工作。这可能吗?

到目前为止我尝试过的事情:

  • 禁用 中的所有输出缓冲php.ini以及输出压缩。
  • gzip在 nginx 的配置中禁用。
  • 将 nginx 的fastcgi_*缓冲设置设置fastcgi_max_temp_file_size为零。

我敢肯定我一定遗漏了一些东西,因为我在这里和其他地方遇到过很多帖子,人们声称他们已经让它工作了,但我似乎没有运气。

Mar*_*ald 4

遗憾的是,这对于 nginx 来说是不可能的。fastcgi 的 nginx 实现需要一个缓冲区,即使您将缓冲指令设置为 0,它也只会导致它缓冲到磁盘而不是内存。

您必须找出一些替代系统,例如可以轮询状态的队列。(例如,想想 ala gearman)

编辑:这是可能的:http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_buffering