18
2019
06

帝国CMS换云主机提示Cannot modify header information – headers already sent by…….

网站换了个云主机,初次体验感觉网站打开就是快了很多,包括后台的操作。不过高兴之后,也有小小的麻烦出现。

在将新网站及数据库搬迁至云主机后,进入帝国CMS后台,数据更新后发表文章,发现有这样的提示,文字显示是红色的:

Cannot modify header information – headers already sent by……..后面还有一大串,会指出是哪个PHP文件哪一行出错!

像这样后台功能一直正常和稳定的网站,换至新空间,却出现了错误信息,一般而言,这和建站系统(如帝国CMS)没有什么关系,主要还是新空间的环境配置和旧主机空间配置有差异导致,即,和原来的空间配置参数不一样。

网上搜索问题解决方案,果然如此,是说与php.ini的设置有关。

PHP.INI是什么东东?简单来说就是PHP的全局配置文件。PHP根据PHP.INI里的配置信息,来处理各种PHP文件。

说是要修改PHP.INI文件,将output_buffering的值设为4096。

作为PHP运行的关键性文件,PHP.INI在一般的虚拟空间里,是不支持修改的。或者说,通过FTP空间,你根本找不到这个文件在哪儿。

但是,没关系,哥新换的是云主机,云主机就是这个好,一切都可以自定义DIY,一切权限都掌握在自己手中,可以很直观方便地修改网站所运行的环境信息配置文件。

于是打开PHP.INI文件,发现是这样的:

output_buffering = Off

原来是给关了,于是改为:

output_buffering = 4096

保存。

注:修改PHP.INI文件后,别指望它能自动就生效,必须重启WEB。也就是重启PHP运行环境,如下图(华哥用的云主机是WDCP主机管理系统)。

附:output_buffering设置说明:

Off: 表示关闭PHP输出缓存

On: 打开无限大的输出缓存

4096: 打开大小为4096Byte的输出缓存

默认情况下,php buffer是开启的,而且该buffer默认值是4096,即4kb。但是华哥新换的PHP云主机,默认设置则是关闭的,也是醉了。

原文链接:https://www.qiquanji.com/post/8416.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

gzh

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。