趁着国庆假,今天解决了 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
总之要做的是:找出不该存在的空格或空行,删除之即可。
:grin: 谢谢博主,用你的方法,我的谷歌网站地图也没错误了,只删除了几个空行,哈哈哈,非常感谢
我的谷歌网站地图也是这个错误,你能告诉我怎么改的吗
我的网站feed就有这个问题。包含在html中的php前后空格也要删除吗
不懂你啥意思,反正后面空格有的就要删除
比如我有一段代码:
<li id=”comment-“>
<div id="div-comment-” class=”comment-body”>
是这样子的。
html的没问题的,以上仅针对php代码
你这评论框有啥问题,我粘贴的PHP都没了。其实是相当于这样:
<ul>
<li> <PHP代码在这>
</li>
<ul>
应该也没问题的啊,文中所说有空格的php代码主要是在functions.php 文件下及其引用的php文件