Window Live Writer (简称 WLW)是微软发布的一款免费的博客客户端写作、发布软件。Window Live Writer 支持各种主流的博客软件,比如 WordPress ,只要你的博客程序支持 xmlrpc 协议。不过在使用 Live Writer 发表日志的时候,偶尔会遇到一些错误,其中最常见错误就是 xmlrpc 错误,“服务器响应无效”。今天我们来给大家介绍一下这个问题以及相应的处理办法。
使用 Window Live Writer 发布博客到 WordPress ,最经常遇到 xmlrpc 错误是这样的:
Invalid Server Response
The response to the metaWeblog.newMediaObject method received from the weblog server was invalid:
Invalid response document returned from XmlRpc server
倘若你使用的是中文版的 Window Live Writer ,则是这样的:
服务器响应无效
从日志服务器接收的对 metaWeblog.newMediaObject method 方法的响应无效:
Invalid response document returned from XmlRpc server
即使在 WordPress 官方论坛上,我们也遇到很多 WordPress 遭遇同样的问题;而对于这一问题,并没有确定的原因和解决方案。我们这里将我们所了解的办法,给大家介绍一下,希望能对你有所帮助。
常见的四种情况
1.这可能是由于 PHP 版本所引起的问题。解决办法:打开 xmlrpc.php 文件(在wordpress的主目录下),添加如下代码到文件的顶部,
1 | 之后: |
2.也可能是由于 .htaccess 规则错误所引起的。解决办法:将如下代码复制到 .htaccess 文件:
1 | <Files xmlrpc.php> |
3.还有可能是由于 WLW 与某个已经安装启用的 WordPress 插件冲突。解决方案:禁用所有的 WordPress 插件,然后逐一启用,可找出具体的插件。 WordPress 论坛有位网友曾经遇到过 Window Live Writer 与 WordPress Super Cache 插件冲突的情况,下载新的版本即可解决;还有一个网友是因为 Window Live Writer 与插件 NextGEN 冲突,禁用此插件即可。 因此,如果你遇到 xmlrpc 错误,可以考虑一下是不是最近增加或者修改过某个WordPress插件。
4.xmlrpc.php 文件中增加了一些代码,调用到一些函数无法执行。解决方案:这个稍微困难一些,你可以使用 Fiddler 来监测 WLW 和你的主机之间的流量,查看都调用了哪些函数,然后找出原因。有个网友在使用 Live Writer 上传图片过程中,由于使用的ftp客户端软件将上传的文件名强制修改为小写,也遇到了同样的问题,最后通过这个办法找到了原因。
以上四个是解决 Live Writer 的”Invalid server response”错误的常用的办法。
路径错误也会造成同样的问题
主机迁移之后,图片上传文件的路径不一样造成的;因此只要所撰写的博客里有图片,就会遇到 Invalid Server Response 。
在 WordPress 的后台,有个“选项”->“杂项”,其中有一项是用来设置 WordPress 上传目录,你以后通过 WordPress 直接上传的文件,包括使用 Live Writer 写博客的时候,所上传的图片等附件也直接上传到以上目录中。
默认情况下,WordPress 的上传目录是 wordpress/wp-content/uploads/ 文件夹。但是,WordPress 所记住的并不是相对目录,而是根据服务器不同而生成的服务器上的绝对目录。
比如说,当你的网站在 A 服务器上安装的时候,这个目录有可能是:
/home/username/public_html/wordpress/wp-content/uploads/
而到了 B 服务器上之后,即便是 username 完全一致,也有可能变成了:
/home2/username/public_html/wordpress/wp-content/uploads/
只是一个数字之差,但目录错误,WordPress 就找不到对应的目录,无法上传图片和其他文件,也会引发同样的 xmlrpc 错误。
即使在不更换服务器的情况下,如果你修改了 wordpress 的安装目录,也会引发同样的问题,在这里我们提醒 WordPress 用户务必注意这一点。
针对这一情况,你只需要在 WordPress 的“后台”->“选项”->“杂项”中,输入正确的上传目录即可。假如你使用的 WordPress 默认的目录,那么直接删除这一项的内容,重新保留空白即可。
参考自: Window Live Writer 发布日志遭遇 xmlrpc 错误的解决方案 | WordPress中文网