如何解决Headers 已发送警告问题?
描述:您在浏览器上收到一条警告消息,内容为:
Warning: Cannot modify header information - headers already sent by
(output started at
原因及解决方法:
<?php这通常是因为在开始标记之前或结束标记之后 有空格、换行符或其他内容?> ,通常在wp-config.php中。对于其他文件也可能如此,因此请检查错误消息,因为它将列出发生错误的特定文件名(请参阅下面的“解释错误消息”)。用您最近备份的文件或新 WordPress 下载的文件替换有问题的文件是您最好的选择,但如果这些都不是一个选项,请按照以下步骤操作。
仅仅因为你看不到任何东西并不意味着 PHP 看到了相同的东西。
通过FTP或主机控制面板中提供的文件管理器下载错误消息中提到的文件。
在纯文本编辑器中打开该文件(不是Microsoft Word 或类似的。记事本或 BBEdit 都可以)。
检查第一个字符后面是否没有空行或空格。
在保存或使用“另存为”对话框之前,请确保文件编码不是UTF-8 BOM普通UTF-8的或没有BOM后缀的任何编码。
要确定文件的结尾,请执行以下操作:
将光标放在 ? 和 >
现在按下电脑上的 DELETE 键 MAC 用户注意:PC 上的“DELETE”键删除光标右侧的字符。这是这里提到的关键。
按住那个键
至少 15 秒
现在输入 > 和
无需按任何其他键即可保存。
如果你按另一个键,你就会把问题带回来。
不要将代码放在不必要的代码块中,将它们放在单个 PHP 块中。
错误的:
<?php some code; ?> <?php some other codes; ?>
正确的:
<?php code; some other code; ?>
编辑并保存文件后将文件上传回您的服务器。
注意:还要检查文件的编码。如果文件使用 BOM 编码为 UTF-8,则 BOM 被视为开始输出的字符。
解释错误消息:
如果错误消息指出: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,那么问题出在第 34 行wp-config.php,而不是第 42 行wp-login.php。在这种情况下,第 42 行wp-login.php是受害者。它受到第 34 行的多余空格的影响wp-config.php。
如果错误消息指出:Warning: Cannot modify header information - headers already sent by (output started at /path/wp-admin/admin-header.php:8) in /path/wp-admin/post.php on line 569,那么问题出在第 8 行admin-header.php,而不是第 569 行post.php。在这种情况下,第 569 行post.php是受害者。它受到第 8 行多余空格的影响admin-header.php。
本文链接:http://78moban.cn/post/12026.html
版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!