-1

我在开发插件中遇到此错误。
在 localhost 中工作正常,但在远程服务器中失败:

警告:无法修改标头信息 - 标头已由第 866 行 /path_wordpress/public_html/wp-includes/pluggable.php 中的(输出开始于 /path_wordpress/public_html/wp-admin/includes/template.php:1657)发送

我已经删除了文件开头和结尾前后的所有空格(此错误的常见原因),并且不涉及任何会话。

还有什么可能的原因?

===
编辑 1

wp-admin/includes/template.php:

$attributes = '';
if ( is_array( $other_attributes ) ) {
    foreach ( $other_attributes as $attribute => $value ) { // line 1657 
        $attributes .= $attribute . '="' . esc_attr( $value ) . '" '; // Trailing space is important
    }
} else if ( !empty( $other_attributes ) ) { // Attributes provided as a string
    $attributes = $other_attributes;
}

===
编辑 2

wp-admin/wp-includes/pluggable.php:

if ( !function_exists('wp_redirect') ) :
/**
 * Redirects to another page.
 *
 * @since 1.5.1
 * @uses apply_filters() Calls 'wp_redirect' hook on $location and $status.
 *
 * @param string $location The path to redirect to
 * @param int $status Status code to use
 * @return bool False if $location is not set
 */ // line 866
function wp_redirect($location, $status = 302) {
    global $is_IIS;
4

1 回答 1

1

无法修改标头信息通常发生在您在某些 html 输出后尝试使用 header() 或重定向功能时。它不太可能位于 Wordpress 本机代码文件之一中,因此请检查您可能编写的一些尝试重定向页面的自定义代码。

参考: http: //php.net/manual/en/function.header.php

于 2012-07-04T02:54:50.033 回答