【问题标题】:Wordpress - Warning: Cannot modify header information - headers already sent [duplicate]Wordpress - 警告:无法修改标头信息 - 标头已发送 [重复]
【发布时间】:2014-03-19 03:35:19
【问题描述】:

我在全新的 wordpress 安装过程中遇到错误:

Warning: Cannot modify header information - headers already sent by (output started at /www/99k.org/r/e/a/realestatedemo/htdocs/wp-includes/class-phpmailer.php:514) in /www/99k.org/r/e/a/realestatedemo/htdocs/wp-includes/pluggable.php on line 896

问题是问题几乎总是由于 PHP 文件中的空白,但我似乎没有。我想知道这是否可能是我正在使用的服务器/主机的问题:Zymic.com

错误引用class-phpmailer.php:514,如下行所示:

  $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($subject)), $body, $header);

在这部分代码中:

  private function mail_passthru($to, $subject, $body, $header, $params) {
    if ( ini_get('safe_mode') || !($this->UseSendmailOptions) ) {
        $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($subject)), $body, $header);
    } else {
        $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($subject)), $body, $header, $params);
    }
    return $rt;
  }

附言

我已经尝试过在 notepad++ 中检查空格,如下所述:

How to fix "Headers already sent" error in PHP

我也没有在该行附近看到任何对 Print 或 echo 的引用(如上面的 SO 帖子中所建议的那样)。

【问题讨论】:

  • 链接文章中的修复似乎无法解决上述问题(空白问题)我需要帮助找出可能导致它的其他原因!
  • 投反对票完全没有根据。
  • 您使用的是哪个版本的 Wordpress?
  • Wordpress 3.8 版
  • 我的猜测是,即使有错误抑制,@mail 也会触发一个可见的警告。可能与在安全模式下运行有关

标签: php wordpress


【解决方案1】:

检查附加脚本或脚本部分之间是否有空格:

?>
   // Blank space here
<?php

同时使用可以使用ob_start();函数,直到找出问题所在

【讨论】:

  • 简单来说,你可以使用一个函数 ob_start();在页面开始的
  • @SuperModel 请您至少先完整阅读我的答案吗?
猜你喜欢
  • 2011-01-15
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 2013-07-09
  • 2012-03-31
  • 2013-11-24
  • 1970-01-01
相关资源
最近更新 更多