无法修改标头信息 - WSOD

时间:2017-05-29 20:44:22

标签: php wordpress http-headers wsod wp-admin

wp-admin或信息中心wsod

网站看起来很好,只有信息中心wsod

WP_DEBUG设为true

没有显示错误。

然后我在no-white-screen.php中添加mu-plugins作为ref. suggested

这些是我的错误:

  

无法修改标题信息 - 已经发送的标题(输出从/home/content/58/11808258/html/FFG/wp-includes/pomo/mo.php:2开始)   从警告中回溯   在/home/content/58/11808258/html/FFG/wp-includes/functions.php [第1141行]:
  [line?]调用process_error()   /home/content/58/11808258/html/FFG/wp-includes/functions.php [第1141行]调用header_remove()   /home/content/58/11808258/html/FFG/wp-admin/admin.php [第33行]调用nocache_headers()   /home/content/58/11808258/html/FFG/wp-admin/index.php [第10行]调用require_once()

还有更多类似的错误,但我不会添加这些错误,我不想发送垃圾邮件。

我没有添加任何新的插件或进行任何主题更改,我总是停用它们(通过重命名ftp文件夹)并且问题仍然存在。

这是报告错误的function.php部分:

    function nocache_headers() {
    $headers = wp_get_nocache_headers();
    unset( $headers['Last-Modified'] );
    // In PHP 5.3+, make sure we are not sending a Last-Modified header.
    if ( function_exists( 'header_remove' ) ) {
        @header_remove( 'Last-Modified' );
    } else {
        // In PHP 5.2, send an empty Last-Modified header, but only as a
        // last resort to override a header already sent. #WP23021
        foreach ( headers_list() as $header ) {
            if ( 0 === stripos( $header, 'Last-Modified' ) ) {
                $headers['Last-Modified'] = '';
                break;
            }
        }
    }
    foreach ( $headers as $name => $field_value )
        @header("{$name}: {$field_value}");
}

'错误'由这两行产生

@header("{$name}: {$field_value}"); 

@header_remove( 'Last-Modified' );

任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:0)

此错误表示某些代码在页面完成之前输出内容。这通常是由于echo在WordPress周期的错误部分(例如在后台操作/挂钩期间)丢弃文本或其他页面组件而引起的。

在此阶段这是一个非常普遍的错误,因此您需要通过消除过程来确定问题的原因。您可以从执行以下操作开始:

  1. 重命名您的插件文件夹,以确保所有插件都100%禁用。将wp-content / plugins重命名为' wp-content / plugins-x'或类似的东西。
  2. 如果恢复管理员/仪表板访问权限,您可以重命名插件文件夹,然后逐个重新激活插件,直到错误返回。此时,您将知道哪个插件是原因。

    如果这不能让你回到管理员,你可能需要使用themes文件夹做类似的事情。

    1. 如果这不能让你回到管理员,你可能需要对themes文件夹做类似的事情。如果重命名插件修复它,那么你知道它是导致问题的插件。否则,它会在你的主题中暗示一些不好的代码。
    2. 如果重命名插件修复了它,那么你知道它是导致问题的插件。否则,它会在你的主题中暗示一些不好的代码。我建议首先检查functions.php文件,因为这是通常进行大多数修补的地方。

      特别要仔细检查您可能添加或自定义的任何代码。

      如果您有权访问服务器日志,请查看这些日志,因为它们应提供有关源的更准确信息,或至少提供问题发生时的信息。