源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Nginx环境下PHP flush失效的解决方法

  • 时间:2022-05-09 07:17 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Nginx环境下PHP flush失效的解决方法
[b]问题[/b] 我在一次调试PHP逐行输出时候,发现[code]ob_flush[/code]和[code]flush[/code]两个都失效了,通过phpinfo基本能判断php.ini的设置是正常的。 [b]解决方法[/b] 再去看Nginx,发现Nginx中,有如下的设置:
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
问题基本找到了,Nginx会缓冲PHP输出的信息,当达到128k时才会将缓冲区的数据发送给客户端,那么我们首先需要将这个缓冲区调小,比如:
fastcgi_buffer_size 4k;
fastcgi_buffers 8 4k;
并且,必须禁用gzip
gzip off;
然后,在php中,在[code]ob_flush[/code]和[code]flush[/code]前,输出一段达到4k的内容,例如:
echo str_repeat(‘ ‘, 1024*4);
到此,PHP就可以正常通过[code]ob_flush[/code]和[code]flush[/code]逐行输出需要的内容了。 [b]总结[/b] 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部