【问题标题】:Error - Warning: Cannot modify header information - headers already sent by错误 - 警告:无法修改标头信息 - 标头已由
【发布时间】:2012-02-28 02:43:59
【问题描述】:

错误:

警告:无法修改标头信息 - 标头已由 (输出开始于 /home/ya3mblog/public_html/wp-login.php:59) /home/ya3mblog/public_html/wp-includes/pluggable.php 在第 866 行

网站:ipublisharticles.com 错误位于: ipublisharticles.com/wp-login.php?action=register

使用正确的方法阻止用户注册。

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    wp-config.php的第一行添加这段代码:

    ob_start();
    error_reporting(0);
    

    【讨论】:

    • 谢谢,我试试这个。抱歉回复晚了。
    • 谁能告诉我为什么会这样?这不会导致以后出现性能问题吗?顺便说一句,它也对我有用。我把它放在functions.php之上。
    • 谢谢,它对我有用!但是,你能说出它为什么有效吗?
    • 我认为这不是解决问题的好方法,因为您并没有解决问题本身。您只需“关闭”日志记录。
    • 这与插件开发模式无关
    【解决方案2】:

    How_do_I_solve_the_Headers_already_sent_warning_problem? > FAQ Troubleshooting « WordPress Codex

    (此错误)通常是因为有空格、换行或其他 在开始 <?php 标记之前或在结束 ?> 标记之后的东西, 通常在 wp-config.php 中。

    使用纯文本编辑器(如记事本或 BBEdit)打开文件并清除空白。检查第一个字符是否为<?php 最后一个字符不是 PHP 结束标记, 是结束标记 ?>,后面没有空行或空格。 (仅供参考,PHP 文件可以在没有关闭 ?> 标记的情况下正常运行。)

    保存时,请确保文件编码不是 UTF-8 BOM,而是纯 UTF-8 或任何不带 BOM 后缀的编码。

    还有:

    其他文件也可能是这样,所以请检查 错误消息,因为它将列出错误所在的特定文件名 发生了。用您最近的文件替换有问题的文件 备份或来自新的 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-config.php 的第 34 行,而不是第 42 行 wp-login.php。在这种情况下,wp-login.php 的第 42 行是 受害者。它受到第 34 行多余空格的影响 wp-config.php。

    如果错误消息指出:警告: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,那么问题出在 admin-header.php 的第 8 行,而不是第 569 行 post.php 的。在这种情况下,post.php 的第 569 行是受害者。它 受到第 8 行多余空格的影响 admin-header.php.

    【讨论】:

    • 正确。就我而言,它是我的wp-config.php 文件中<?php 之前的一个空行。
    • 对我来说,错误是在我的自定义主题的 index.php 中。导致问题的换行符位于根 wordpress index.php 文件中的 php 标记之前。
    【解决方案3】:

    删除第59行多余的空格/home/ya3mblog/public_html/wp-login.php。

    【讨论】:

      【解决方案4】:

      在我的情况下发生是因为我正在通过函数中的 Wordpress Rest API 结束工作

      echo json_encode($result);
      

      而不是简单的:

      return $result;
      

      改变它..成功了!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-27
        • 2013-07-09
        • 2012-03-31
        • 2013-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多