栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

即使在Nginx中也可以使用PHP Flush

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

即使在Nginx中也可以使用PHP Flush

最终解决方案

这就是我发现的:

Flush在Apache的mod_gzip或Nginx的gzip下不起作用,因为从逻辑上讲,它正在对内容进行gzip处理,并且这样做必须缓冲内容才能对其进行gzip处理。任何类型的Web服务器gzip压缩都会影响此。简而言之,在服务器端,我们需要禁用gzip并减小fastcgi缓冲区的大小。所以:

  • 在php.ini中:

。output_buffering =关

。zlib.output_compression =关闭

  • 在nginx.conf中:

。gzip关闭;

。proxy_buffering关闭;

还要准备以下这行代码,特别是在您没有php.ini权限的情况下:

  • @ini_set(’zlib.output_compression’,0);

  • @ini_set(’implicit_flush’,1);

  • @ob_end_clean();

  • set_time_limit(0);

最后,如果有的话,将代码注释如下:

  • ob_start(’ob_gzhandler’);

  • ob_flush();

PHP测试代码:

ob_implicit_flush(1);for($i=0; $i<10; $i++){    echo $i;    //this is for the buffer achieve the minimum size in order to flush data    echo str_repeat(' ',1024*64);    sleep(1);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/597140.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号