【问题标题】:RSS Feed created using Zend_Feed - firefox prompts to download not display as RSS使用 Zend_Feed 创建的 RSS Feed - firefox 提示下载不显示为 RSS
【发布时间】:2010-11-03 00:00:32
【问题描述】:

我使用 Zend_Feed 创建了一个 RSS 提要。

它似乎在生成的 XML 看起来不错。我的问题是 Firefox 不会将其识别为 RSS 提要,而是提示我下载原始 XML。

在 IE 中尝试会出现错误“此提要包含代码错误”,并带有以下额外信息:

Invalid xml declaration. Line: 2 Character: 3

xml 版本="1.0" 编码="UTF-8" ?>

非常感谢任何帮助。

【问题讨论】:

  • 请注意,我在

标签: zend-framework feed


【解决方案1】:

xml 声明必须位于输出的绝对第一行。 IE。 xml-declaration 标记前没有空行或空格。

这是有效的:

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

这不是:

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

【讨论】:

  • 谢谢 - 看起来这是问题,因为首先有一个空行。不知道为什么 Zend 会这样做......
  • 它可能不是 Zend - 确保你的 PHP 中没有任何错误的空格。
  • 您是对的 - PHP 文件末尾的 ?> 似乎是关闭后的空白行导致了问题。非常感谢。
  • 您可以放心地省略 PHP 文件末尾的 ?> 以完全避免这种情况
【解决方案2】:

检查&lt;?xml version="1.0" encoding="utf-8"?&gt; 是否是提要文件的第一行。没有空行或空格!

【讨论】:

    【解决方案3】:

    如果 PHP 吐出任何通知/警告等,这些都会导致 Feed 格式不正确。在将 Feed 发送到测试之前尝试将 error_reporting 设置为零:

    error_reporting(0);
    

    【讨论】:

    • 或者,将错误报告设置为最大,并修复问题,而不是仅仅隐藏它。错误报告(E_ALL|E_STRICT);
    【解决方案4】:

    使用 php 类文件等时的良好经验法则,永远不要?&gt; 你的类文件。仅在模板类型文件中使用?&gt;,之后您将有常规输出。正是出于上述原因,所有主要的软件包现在都这样做了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多