WordPress与 the Headers Already Sent Warning警告

这个故事的起源和其他的问题处理的情节一样。 你已经安装了WordPress博客的主题或插件,修改了一个文件,或…

这个故事的起源和其他的问题处理的情节一样。 你已经安装了WordPress博客的主题或插件,修改了一个文件,或者你只是检查你的博客。突然,类似下面的错误信息突然出现在你的页面上,黑压压地乌云压头:

警告:Warning: Cannot modify header information - headers already sent by (output started at /path/blog/wp-config.php:34) in /path/blog/wp-login.php on line 42

记住故障处理的第一条规则:不要惊慌! 首先,你需要理解错误信息。 第一反应,看起来可能是 wp-login.php 文件的 42 行是问题的根源,但这只是通常的误解。实际上,wp-config.php 的第 34 行才是问题所在,wp-login.php 的42行只是受害人。

现在你知道该看哪儿,该找什么了吧? 不管你信不信,问题通常是由于那一行的空格引起的(或者一个空格、或者一个空行)。

现在,你知道了要找什么以及去哪里找,通过FTP或SFTP登陆你的服务器,并使用文本编辑器编辑这个文件。 此外,如果你不想被文件编辑弄迷糊,也可以直接用原始文件去替代这个文件,也可以解决问题。

如果你没有发现文件的任何错误,用原始文件替换也没有解决问题呢? 那就很有可能是某个插件或者主题函数,读取这个文件时造成的问题了。 那就尝试关闭所有的插件。如果问题解决了,重新逐个启用插件,直到找出问题所在。如果还没有解决问题,尝试将主题切换到Default主题 (WordPress 1.5 – 2.9.2)或者Twenty Ten 主题 (WordPress 3.0或更高),来确认是否是主题造成的。 如果你无法登录管理面板,你可以按照WordPress与白屏之死一文中的办法手动关闭WordPress插件和主题。

如果还无法这个解决问题,WordPress支持论坛的热心网友可以帮你解答。一定要记住告诉他们你已经尝试过的步骤。

补充】:如果你遇到的刚好是 wp-config.php 文件错误,并且你使用的WordPress并非WordPress官方英文原版或者WPChina.org发布的非官方中文版,那么很有可能是 wp-config.php 的错误编码导致的这个错误。包括cn.wordpress.org在内的一些组织发布WordPress中文版本,默认将wp-config.php文件设置为utf 8 no bom编码格式;但是php语言并不擅长处理utf8编码格式。解决办法,使用文本编辑器重新将此文件编码格式设置为ansi或gb2312;或者简单些,从WPChina.org下载一个非官方中文版,用其中的wp-config.php文件去替代。

原文:WordPress and the Headers Already Sent Warning

类别:WordPress经验

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT