趁着国庆假,今天解决了 Jeff的阳台 的Geekwork主题的几个bug。其中一个是打开feed页面(即http://www.jianhui.org/feed)会显示“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.”的错误。
更详细的错误细节
IE 中会有类似““无效的 xml 声明, 行: 2 字符: 6””的提醒;
火狐浏览器中:XML解析错误:xml处理指令不在实体的开始部分 位置:http://localhost/wordpress/?feed=rss2 行:2,列:1: <?xml version="1.0" encoding="UTF-8"?>
图片演示:
解决方法
经过多次搜索以及实践,出现该问题的原因是代码书写不规范:某些php文件 <?php前或 ?>后有空格或空行。
如果自己修改过主题的可能会在复制人家代码的时候导致 <?php前或 ?>后有空格或空行。如下面:
还有要注意的其他“空格”的地方:
<?php是不能有空格及其他字符分开的。<?php?> 是PHP的默认语法,而<??>则是短标记方法,需要在php.ini中开启short_open_tag指令的。
<?后面紧跟着php,之间没有空格;是<?php 而不是 <? php
总之要做的是:找出不该存在的空格或空行,删除之即可。