使用PHP和Apache防止输出缓冲

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用PHP和Apache防止输出缓冲脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个发送大量记录的 PHP脚本,我想在每个记录可用时立即刷新它们:客户端能够在每个记录到达时处理它,它不需要等待整个响应.我意识到整个传输需要稍长的时间,因为它需要以多个数据包发送,但它仍然允许客户端更快地开始工作.

我已经尝试了所有不同的flush()和ob_flush()函数,但似乎没有任何东西可以帮助在页面完成之前获取实际通过该行发送的数据.我已经确认它不是网络浏览器,因为我已经使用telnet测试了它.

我有用的唯一解决方案是将PHP.ini中的output_buffering指令设置为“Off”.我不想为整个服务器执行此操作,只需要这个特定的资.通常你可以使用PHP脚本中的ini_set,但无论出于何种原因,PHP都不允许以这种方式设置output_buffering(参见 the php manual).

事实证明,如果您使用的是apache,您可以从服务器配置中设置一些PHP ini指令(包括output_buffering),包括.htaccess文件.所以我在.htaccess文件中使用以下内容来禁用仅为该文件的output_buffering:

<Files "q.PHP">
    PHP_value output_buffering Off
</Files>

然后在我的静态服务器配置中,我只需要Allowoverride Options = PHP_value(或更大的锤子,如AllowOverride All),以便在.htaccess文件中允许.

脚本宝典总结

以上是脚本宝典为你收集整理的使用PHP和Apache防止输出缓冲全部内容,希望文章能够帮你解决使用PHP和Apache防止输出缓冲所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。