如何使用彗星(在nginx中禁用输出缓冲,它通常工作在Apache,但不是nginx)?

我的网站上有一个彗星驱动的聊天脚本

我的服务器configuration是NGINX与PHP-FPM,我也有不同的端口上安装的Apache。

当我尝试在Apache上运行聊天脚本时,当我使用1024个字符进行泛洪时,会将缓冲区(我的输出缓冲区大小为1 KB)泛洪,然后自动刷新这就是apache。

但是在nginx中却没有。

我的代码与此非常相似

<?php // this is to fill the buffer and start output; and it works on apache normally echo str_repeat(" ",1024); while($condition){ // Some code here... $messages = getMessagesFromDatabase(); if($messages){ echo "output"; // output works on apache but not nginx flush(); ob_flush(); } usleep(500000); // 0.5 Second } ?> 

在我的nginxconfiguration中,我把gzipclosures,proxy_bufferingclosures,

有没有办法避免在nginx缓冲,我在这里search了很多在计算器,但我无法达成解决scheme

请注意:我不想在所有的phpconfiguration中closures缓冲,我只是希望在聊天脚本中发生这种情况

升级你的nginx服务器{}配置:

 fastcgi_keep_conn on; # < solution proxy_buffering off; gzip off;