一个月前我将本站所用的 WordPress 核心升级到 3.2.1,并启用了该版本默认主题 Twenty Eleven。这款主题简洁大方,可以自定义 Header。经过数次修改 CSS 等细节,已基本达到比较满意的使用状态。然而在最近一次发博文的时候,却发现一直使用的离线博客撰写工具 Windows Live Writer (WLW) 无法与网站服务器连接。错误信息为“尝试登录时发生意外错误:服务器响应无效 – 从日志服务器接收的对 blogger.getUserBlogs 方法的响应无效: Invalid response document returned from XmlRpc server”。
解决方法一:
发表文章时,先暂时更换为其他主题,比如 Twenty Ten ,发表成功后再更换回 Twenty Eleven。
这是我的第一想法。既然原来发布是好的,那么很有可能问题是由于主题更换而引起。只不过操作上稍有点麻烦。
解决方法二:
打开文件 wp-include/class-IXR.php,查找以下代码:
$length = strlen($xml);
将其修改为
$length = strlen($xml)+3;
这样 WLW 就能正常连接 WordPress 了。
网上有人说这个问题出在 WordPress 的编码(UTF-8)与 WLW 的编码(UTF-8+)不一样上面。将 $length 的长度增加3,是因为 UTF-8+ 的编码要比 UTF-8 多出3个字节。
具体原因我就不做分析了,反正解决问题就好。
参考:
