我需要PHP的flush()来工作。 这可能吗?
到目前为止我尝试过的东西:
php.ini所有输出缓冲以及输出压缩。 gzip 。 fastcgi_*缓冲设置和fastcgi_max_temp_file_size设置为零。 我相信我一定会错过一些东西,因为我在这里和其他地方跑过很多post,人们声称他们已经有所作为,但是我看起来没有运气。
可悲的是,用nginx是不可能的。 fastcgi的nginx实现需要使用缓冲区,即使将缓冲区指令设置为0,也只会导致缓冲区而不是内存缓冲区。
你将不得不找出一些替代系统,比如可以轮询状态的队列。 (比如说ala gearman)
我想要同样的东西,事实certificate这是可能的。 所有你需要的是这个之前什么是回声:
header('Content-Encoding: none;');
然后冲洗你正常的冲洗:
ob_end_flush(); flush();
Nginx似乎已经closures了编码,而不是gzip。
这是可能的,看看这个答案 。
我自己试了一下,它工作。
升级你的nginx服务器{}configuration:
fastcgi_keep_conn on; # < solution proxy_buffering off; gzip off;