
今天修改侧边栏目的时候发现rss订阅报错了
打开网站的rss文件发现报错内容如下:
This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
XML解析错误:xml处理指令不在实体的开始部分
右键查看源代码,发现<?xml version=”1.0″ encoding=”UTF-8″?>前面存在空行!
想了下一直就没改过这个文件啊,怎么突然就不行了也是醉,查了下资料
研究了下发现是PHP标识符之间换行的问题导致的xml第一行为空
导致Rss和xml输出错误原因分析
1、和某插件冲突。
本次发现的冲突插件是舍力的评论排行榜插件引起的。。第一次哈
至今第一次遇到过,也应该很少遇到,毕竟插件作者一般都会排除这样的错误。
如果实在有疑问,那就在 Rss 输出错误时停用所有插件试试输出会不会恢复正常。
如果没有正常则NEXT
2、有关Feed输出的某个php文件后有空行。
这里的某个文件指的是function.base.php之类的文件,
一般来说function.base.php这些内核程序文件我们是很少动的(真的不动嘛?)
被忽略的症结
注意:
现在网上能搜到的大部分的解决办法是让你检查文件的头尾两部分的空格或空行。(这个简单)
其实有看emlog代码的人都知道,rss.php文件是在根目录下的,所以他的运行不会涉及到主题模板里面
然而插件是在初始化的时候就开始加载,在init.php,所以重点排除对象就是插件代码了。。
因为插件php方法代码都是统一放在一起的放到plugins/xxx.php里,
也就是会出现php代码开始和结束标记满天飞的情况,
两端首尾相连的标记请不要有任何字符
不多说了看看下面的示例你就都懂了,如果不懂那你还是用新浪微博吧,emlog不适合你。
1
|
//错误的示例
|
2
|
function a(){......}; //两端php标记中间出现换行符。
|
3
|
function b(){......};
|
4
|
|
5
|
//正确的示例
|
6
|
function a(){......}; function b(){......}; //两端php标记没有字符。
|
找出所有这样的代码,全部调整好,问题自然解决。
Rss 我们还需要吗?
虽然有很多朋友觉得 Rss 是 emlog 或网站的一个无关紧要的功能,因为订阅者现在越来越少,Rss 目前的聚合形式又不是很给力,毕竟微博的兴起、轻博客的面世越来越多的人趋向于像新浪微博、轻博客那样主体聚合的方式,而像我这种喜欢写独立博客,倾向于信息聚合的方式人已经越来越少,有很多认识的写独立博客的朋友,也都转投新浪、点点的怀抱了,这也就是像鲜果、抓虾等聚合类的网站慢慢没落的原因,甚至连盛极一时的 feedsky 也都……(此处省略若干文字)。
独立博客是互联网不可缺少的东西,至少是闷骚博主们不能缺少的东西,因为独立象征着自由,让我们能从新浪微博、轻博客……等等等等千篇一律的博客样式中解脱出来,创建属于自己的样式、主题,更可以拥有自己的域名,是我辈之人的渴望,但不能像新浪微博和轻博客那样无缝的信息沟通和关注又是吾之不欲,就目前来看就只能在 Rss 上做聚合的文章了,你懂,所以还是从每一步做起,清除掉所有有碍你发展的错误,一旦日后能够跟轻博客或者微博通过Rss接轨,不要因为 Rss 而在门外游荡。



本文地址:https://blog.hellozwh.com/?post=163
版权声明:若无注明,本文皆为“起点终站”原创,转载请保留文章出处。

