1

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

无法修改标头信息 - 标头已由 /home/ben213/public_html/wp-includes/pluggable.php 中的(输出开始于 /home/ben213/public_html/wp-content/themes/Bendaggers/functions.php:9)发送第 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;

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

4

4 回答 4

3

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

于 2011-09-12T04:39:53.230 回答
2

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

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

echo "<meta http-equiv='refresh' content='0;url=$location' />";
于 2012-12-26T13:37:31.910 回答
1

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

 ?>

 <?php

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

 ?>
 <?php
于 2013-01-09T10:47:37.520 回答
1

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

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

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

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

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

编辑:

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

祝你好运。

于 2011-09-11T23:06:03.730 回答