【问题标题】:Cannot modify header information - headers already sent by… Wordpress Issue无法修改标头信息 - 标头已由...发送 Wordpress 问题
【发布时间】:2011-11-14 23:02:31
【问题描述】:

我遇到了这个错误。我不知道如何处理。

无法修改标头信息 - 标头已由(输出 开始于 /home/ben213/public_html/wp-content/themes/Bendaggers/functions.php:9) 在 /home/ben213/public_html/wp-includes/pluggable.php 第 934 行

我的 Functions.php 文件第 9 行是:

<?php if(function_exists('register_sidebar'))register_sidebar();?>

而我的 pluggable.php #934 是

函数 wp_redirect($location, $status = 302) { 全局 $is_IIS;

$location = apply_filters('wp_redirect', $location, $status);
$status = apply_filters('wp_redirect_status', $status, $location);

if ( !$location ) // allows the wp_redirect filter to cancel a redirect
    return false;

$location = wp_sanitize_redirect($location);

if ( !$is_IIS && php_sapi_name() != 'cgi-fcgi' )
    status_header($status); // This causes problems on IIS and some FastCGI setups

header("Location: $location", true, $status);}
endif;

我很难弄清楚这一点,因为我不是程序员。似乎有什么问题?请帮助我...

【问题讨论】:

标签: wordpress function pluggable


【解决方案1】:

这就是为我解决问题的方法!在'function.php'第9行'可能看起来像

 ?>

 <?php

删除空格,使其看起来像:

 ?>
 <?php

【讨论】:

    【解决方案2】:

    在我的pluggable.php 中找到函数wp_redirec 并在其中替换

    header("Location: $location", true, $status);
    

    echo "<meta http-equiv='refresh' content='0;url=$location' />";
    

    【讨论】:

      【解决方案3】:

      我会给 99.9% 的这个麻烦,因为在 php 脚本中的第一个 "&lt;?" 之前和最后一个 "?&gt;" 之后的某个地方出现了不需要的空格。编辑以不同编码保存文件也可以添加这样的空格(因为 BOM)。所以这并不总是取决于你的注意力。使用 Notepad2 或其他东西来编辑代码,最好尝试在管理控制台中使用内置的在线主题编辑器。尝试在每个主题的 php 文件中查找并消除所有不需要的空格并重新保存这些文件。

      【讨论】:

      • 大概就是这样。我不了解 PHP,但是在使用 JSP 时,即使是指令后的换行符“计数”...
      • 这是我的解决方案。非常感谢。在我的一个班级文件中,我在 ?> 后面多了一行,被删除了,我又回到了魔术师的位置!
      【解决方案4】:

      我对wordpress一无所知,但我对http有所了解......也许这会有所帮助。

      发生错误是因为您尝试更改标头字段,尽管标头已发送。第一次写入实际页面内容时(自动)发送标题。

      (http-headers 是发送 html-pages 的 http-protocol 的一部分,而不是 html 文件的一部分。状态代码(404 等)编码等内容在 headers 中发送。所以按顺序要开始写入实际页面,必须先写入标题。)

      看起来主题(?)使用得太早了,或者“重定向”插件激活得太晚了......

      尝试移动“register_sidebar”,直到您检查是否进行重定向。

      编辑:

      通过阅读您的其他问题,我可以看出您需要学习如何编程或使用其他工具。找一两本书,给它一些时间。 PHP 是一种相当混搭的语言,因此它并不是学习如何编程的理想选择,但既然你似乎需要它,那么你就在那里。

      祝你好运。

      【讨论】:

      • 谢谢卡尔。遗憾的是我不是程序员,但我对 html css 了解一点。老实说,当您说“尝试移动“register_sidebar”直到您检查是否进行重定向之后,我什至不理解pluggable.php中的一个该死的东西。”,我该怎么做?
      • 不知何故,pluggable.php 被执行了。不知何故,functions.php 在此之前执行。尝试弄清楚是什么原因造成的,并对其进行更改,以便在 pluggable.php 中的行之后执行注册侧边栏的行
      • 但我认为你真的是在深水中。如果您复制/粘贴了很多您不理解的代码,那么最好将其剥离,并尝试从头开始,使用您理解的内容。
      猜你喜欢
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      相关资源
      最近更新 更多