php – 打开Output_Buffering会在随机页面上创建404错误

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 打开Output_Buffering会在随机页面上创建404错误脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在使用PHP中的output_buffering(由PHPinfo()确认),我发现在打开它时,我将开始在我的页面上得到@L_304_3@的404错误,但页面内容加载正常,一切看起来都不错.

这只发生在我的生产网站上. PHP 5.5.35,apache / 2.4.18(Unix).我不知道404从哪里发送.有没有人对我可能发生的事情有什么想法,或者我可以在我的服务器搜索什么来修复它?

这些是我的响应标题,如果完全相关:

Cache-Control:s-maxage=10
Cache-Control:no-cache,must-revalidate,max-age=0
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:13021
Content-tyPE:text/htML; charset=UTF-8
Date:Fri,02 Feb 2018 18:31:59 GMT
Expires:Wed,11 Jan 1984 05:00:00 GMT
Keep-Alive:timeout=5,max=96
Server:Apache
Strict-Transport-security:max-age=31536000; includeSubDomains; PReload
VARy:Accept-Encoding
X-Powered-By:PHP/5.5.35

编辑:
我发现这个问题只发生在我从wordpress实例加载“最近帖子”的页面上.我删除这个小小部件并不是一个真正的选择,但我认为设置404标头背后有一个原因.有什么想法吗?

解决方法

我认为正在发生的事情是,无论输出缓冲是打开还是关闭,您的代码在某些情况下都会发出404s;但是当输出缓冲关闭时,标头无法设置,因为它已经被编写生成类似这样的警告:

因此,只有在输出缓冲打开时才能看到404,这使您可以在将缓冲区写入输出之前的任何时刻设置标头.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 打开Output_Buffering会在随机页面上创建404错误全部内容,希望文章能够帮你解决php – 打开Output_Buffering会在随机页面上创建404错误所遇到的问题。

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

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