php – 打开Output_Buffering会在随机页面上创建404错误
发布时间:2020-12-13 16:10:17 所属栏目:PHP教程 来源:网络整理
导读:我一直在使用php中的output_buffering(由phpinfo()确认),我发现在打开它时,我将开始在我的页面上得到随机的404错误,但页面内容加载正常,一切看起来都不错. 这只发生在我的生产网站上. PHP 5.5.35,Apache / 2.4.18(Unix).我不知道404从哪里发送.有没有人对我
我一直在使用php中的output_buffering(由phpinfo()确认),我发现在打开它时,我将开始在我的页面上得到随机的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 编辑: 解决方法
我认为正在发生的事情是,无论输出缓冲是打开还是关闭,您的代码在某些情况下都会发出404s;但是当输出缓冲关闭时,标头无法设置,因为它已经被编写生成类似这样的警告:
因此,只有在输出缓冲打开时才能看到404,这使您可以在将缓冲区写入输出之前的任何时刻设置标头. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |