Windows RSS在我的开发服务器上运行良好,而不是在我的实时服务器上

Windows RSS在我的开发服务器上运行良好,而不是在我的实时服务器上,windows,linux,codeigniter,rss,Windows,Linux,Codeigniter,Rss,好的,以下是规格: 开发服务器:Windows、WAMP、PHP5+、Codeigniter 实时服务器:Ubuntu Linux、PHP、CodeIgniter、LAMP 我从Live Server在Firefox中收到以下错误: XML分析错误:文档元素后出现垃圾邮件 地点: 第2行第1列: 语法错误,在…rss2.php中出现意外的T_字符串 然而,在我的开发环境中,Windows中的一切都像美女一样工作 有人能帮我吗 代码如下: function rss2() { @heade

好的,以下是规格:

开发服务器:Windows、WAMP、PHP5+、Codeigniter

实时服务器:Ubuntu Linux、PHP、CodeIgniter、LAMP

我从Live Server在Firefox中收到以下错误:

XML分析错误:文档元素后出现垃圾邮件 地点: 第2行第1列:

语法错误,在…rss2.php中出现意外的T_字符串

然而,在我的开发环境中,Windows中的一切都像美女一样工作

有人能帮我吗


代码如下:

function rss2() {
    @header("Content-Type: text/xml");
    $settings = $this->db_model->get_db_settings();

    $data['encoding'] = 'utf-8';
    $data["feed_name"] = $settings["sitename"];
    $data["feed_url"] = base_url() . "feed/rss2";
    $data["page_description"] = "RSS Feed for " . $settings["sitename"];
    $data["page_language"] = "en-us";
    $data["creator_email"] = "noreply@noreply.com";

    $data["todays_date"] = date("c");     

    //Array?
    $rssfeed = $this->blog_model->get_blog_posts_by_status("published");

    $i = 0;
    foreach ($rssfeed as $row) {
        //feed the details into the array
        $rss_data[$i]["title"] = $row["title"];
        $rss_data[$i]["permalink"] = base_url() . "content/blog/" . $row["slug"];
        $rss_data[$i]["date"] = $row["date"];
        $rss_data[$i]["description"] = utf8_encode(html_entity_decode($row["content"], ENT_QUOTES));            
        $rss_data[$i]["category"] = "No Category";
        $i=1;
    }

    if ($i == 0) {
        $data["rss_data"] = NULL;
    } else {
        $data["rss_data"] = $rss_data;
    }

    $this->load->view("system/feed/rss2", $data);

}

好吧,如果这一切都错了,有人来帮我。我在实时服务器上解决了这个问题,在开发服务器上仍然可以。我所做的唯一一件事就是去掉xml文档中的第一行:

<?xml version="1.0" encoding="UTF-8"?>

现在,rss2.php文件如下所示:

<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
    <atom:link href="<?php echo base_url() . 'feed/rss2/'; ?>" rel="self" type="application/rss+xml" />
    <title><?php echo $feed_name; ?></title>
    <link><?php echo $feed_url; ?></link>
    <description><?php echo $page_description; ?></description>
    <dc:language><?php echo $page_language; ?></dc:language>
    <dc:creator><?php echo $creator_email; ?></dc:creator>
    <dc:rights>Copyright <?php echo gmdate("Y", time()); ?></dc:rights>
    <dc:date><?php echo $todays_date; ?></dc:date>
    <admin:generatorAgent rdf:resource="http://www.codeigniter.com/" />

    <?php if ($rss_data == null) { ?>

        <item>
          <title>We're Sorry. There is no data to view.</title>
          <link><?php echo base_url(); ?></link>
          <guid><?php echo base_url(); ?>#When:<?php echo $todays_date; ?></guid>
          <description></description>
          <dc:subject></dc:subject>
          <dc:date><?php echo $todays_date; ?></dc:date>
        </item>

    <?php } else { ?>
    <?php foreach($rss_data as $row) { ?>

        <item>
          <title><?php echo xml_convert($row['title']); ?></title>
          <link><?php echo $row['permalink']; ?></link>
          <guid><?php echo $row['permalink']; ?>#When:<?php echo $row['date']; ?></guid>
          <description><?php echo xml_convert($row['description']); ?></description>
          <dc:subject><?php echo xml_convert($row['category']); ?></dc:subject>
          <dc:date><?php echo $row['date']; ?></dc:date>
        </item>

    <?php } } ?>

    </channel>
</rss> 

版权
我们很抱歉。没有可查看的数据。
#当:
#当:
一切正常,但这是正确的吗?我不应该有那个编码行吗?让我知道。提前谢谢。

听起来像是
);?>

拥有整个diff开发和生产服务器不是一件好事。请发布rss2.php的代码。如果您有遗漏,我们将查看itCheck;在你的代码中。谢谢。顺便说一句,我用w3c验证了rss视图文件,它运行良好。我也在做另一台简单的计算机来安装Ubuntu开发服务器的工作。我在Windows7上也遇到了同样的错误。检查itBtw,我在控制器文件的末尾没有“?>”。它过去常常给我带来麻烦。要我添加rss2视图文件吗?这只是一个经过验证的RSS 2.0 xml文件。对我来说,这基本上是关闭的。如果这解决了你的问题,你应该将其标记为答案,而不是重新提问。
<?php echo( '<?xml version="1.0" encoding="UTF-8"?>' ); ?>