解决wordpress无法离线发布(远程发布)的故障
2011-03-25 18:54
225 查看
使用wordpress mu3.0与3.1时,不知道什么原因,只要开户了WORDPRESS的MU选项,Zoundry Raven和Windows Live Writer就无法注册账户成功(之前在Zoundry Raven里建好的账号还能收发,但不能新建)。在Zoundry Raven上表现为:输入BLOG主地址后,能进入下一步,也能自动出来wordpress的API,但填好所有选项后,下一步便报错了:
“Error fetching list of blogs”,细节如下:
干干净净安装了一台CENTOS,APACHE,PHP,MYSQL,WORDPRESS后
,未出现上述问题。对两者抓包后发现:
发送的的POST包如下:
如正确执行,返回值为:
而错误的返回结构为:
仔细研究xmlrpc.php后,发现问题出在_multisite_getUsersBlogs函数上,或者说是_multisite_getUsersBlogs函数在$rpc = new IXR_Client("$...及其后几句与IXR_Client对象有关的调用上无返回值。
$rpc->query('wp.getUsersBlogs', $args[1], $args[2]); 此行代码甚至不会执行wp.getUsersBlogs这个子函数。
限于时间与能力,暂未进一步研究。直接用RETURN语句替换了。
改动如下:
WORDPRESS 3.0.X中,在/xmlrpc.php,第1604行更改。
WORDPRESS 3.1中,在/wp-includes/class-wp-xmlrpc-server.phpt 1692行前更改:
现在测试的结果:3.0.X依然无法执行。稍后再研究
附加内容
本文出自 “张宇(数据恢复)” 博客,谢绝转载!
“Error fetching list of blogs”,细节如下:
zoundry.blogpub.xmlrpc.xmlrpcserverimpl.ZXmlRpcException: {ZBlogServerException['xmlrpcapi.getbloglist' type:Publishing Error, code:0 msg:xmlrpcapi.blog_list_unavailable_error]} at zoundry\\blogpub\\xmlrpc\\xmlrpcserverimpl.pyo:267 [_getUserBlogs()] -> None at zoundry\\blogpub\\xmlrpc\\xmlrpcserverimpl.pyo:1217 [_getUserBlogs()] -> None at zoundry\\blogpub\\xmlrpc\\xmlrpcserverimpl.pyo:251 [getBlogs()] -> None at zoundry\\blogapp\\services\\pubsystems\\blog\\xmlrpc.pyo:13 [_listBlogs()] -> None at zoundry\\blogapp\\services\\pubsystems\\blog\\blogpublisher.pyo:508 [listBlogs()] -> None at zoundry\\blogapp\\models\\ui\\wizard\\newpublishersitemodel.pyo:52 [listBlogs()] -> None at zoundry\\blogapp\\ui\\wizards\\publishersitewizard.pyo:516 [_runTask()] -> None Caused By: zoundry.blogpub.xmlrpc.xmlrpcserverimpl.ZXmlRpcException: {ZBlogServerException['xmlrpcapi.getbloglist' type:Publishing Error, code:0 msg:xmlrpcapi.blog_list_unavailable_error]} at zoundry\\blogpub\\xmlrpc\\xmlrpcserverimpl.pyo:267 [_getUserBlogs()] -> None at zoundry\\blogpub\\xmlrpc\\xmlrpcserverimpl.pyo:1217 [_getUserBlogs()] -> None at zoundry\\blogpub\\xmlrpc\\xmlrpcserverimpl.pyo:251 [getBlogs()] -> None at zoundry\\blogapp\\services\\pubsystems\\blog\\xmlrpc.pyo:13 [_listBlogs()] -> None at zoundry\\blogapp\\services\\pubsystems\\blog\\blogpublisher.pyo:508 [listBlogs()] -> None at zoundry\\blogapp\\models\\ui\\wizard\\newpublishersitemodel.pyo:52 [listBlogs()] -> None at zoundry\\blogapp\\ui\\wizards\\publishersitewizard.pyo:516 [_runTask()] -> None Thread: [ZWizardTaskThread] Thread: [ZWizardTaskThread]
干干净净安装了一台CENTOS,APACHE,PHP,MYSQL,WORDPRESS后
,未出现上述问题。对两者抓包后发现:
发送的的POST包如下:
POST /xmlrpc.php HTTP/1.1 Host: blog.sjhf.net Accept-Encoding: identity User-Agent: Zoundry Raven (www.zoundry.com); zpypatch.xmlrpclib.py/1.0.1 Content-Type: text/xml; charset=UTF-8 Content-Length: 329 blogger.getUsersBlogs urn:zoundry.com:raven:pub:xmlrpc:metaweblog:wordpress admin ********
如正确执行,返回值为:
HTTP/1.1 200 OK Date: Fri, 04 Mar 2011 09:01:47 GMT Server: Apache/2.2.3 (CentOS) X-Powered-By: PHP/5.1.6 Connection: close Content-Length: 641 Content-Type: text/xml isAdmin1 urlhttp://blog.sjhf.net/ blogid1 blogName北亚数据恢复博客 xmlrpchttp://blog.sjhf.net/xmlrpc.php
而错误的返回结构为:
HTTP/1.1 200 OK Date: Fri, 04 Mar 2011 05:54:05 GMT Server: Apache/2.2.3 (CentOS) X-Powered-By: PHP/5.1.6 Connection: close Content-Length: 158 Content-Type: text/xml
仔细研究xmlrpc.php后,发现问题出在_multisite_getUsersBlogs函数上,或者说是_multisite_getUsersBlogs函数在$rpc = new IXR_Client("$...及其后几句与IXR_Client对象有关的调用上无返回值。
$rpc->query('wp.getUsersBlogs', $args[1], $args[2]); 此行代码甚至不会执行wp.getUsersBlogs这个子函数。
限于时间与能力,暂未进一步研究。直接用RETURN语句替换了。
改动如下:
WORDPRESS 3.0.X中,在/xmlrpc.php,第1604行更改。
WORDPRESS 3.1中,在/wp-includes/class-wp-xmlrpc-server.phpt 1692行前更改:
$rpc->query('wp.getUsersBlogs', $args[1], $args[2]); //上面一行是原来有的,下面两行增加 array_shift($args); return $this->wp_getUsersBlogs($args);
现在测试的结果:3.0.X依然无法执行。稍后再研究
附加内容
本文出自 “张宇(数据恢复)” 博客,谢绝转载!
相关文章推荐
- 解决wordpress无法离线发布(远程发布)的故障
- PUTTY无法远程连接服务器故障解决[转]
- 解决wordpress发布文章,图片无法居中的问题
- PUTTY无法远程连接服务器故障解决
- PUTTY或WinSCP无法远程连接服务器故障解决
- 如何使用citrix XenApp 发布远程共享文件夹,及其故障解决
- webservices发布后远程无法调试的解决方法
- WordPress无法在线安装主题、插件及快速发布无法上传图片的解决办法
- discuz“附件文件无法保存到远程服务器”故障的解决
- 解决IXR发布文章到WordPress无法将文章状态设置成Publish状态的问题
- 非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法
- WordPress在更换IP后无法打开或呈现无样式页面的解决方法
- MySQL数据库无法远程连接的解决办法
- 解决IIS 远程无法支持HTTP POST访问的方法
- 安装win7系统提示“无法更新启动配置”的故障原因分析及解决方法
- 解决"System.AccessViolationException”类型的未经处理的异常在 未知模块(IIS Worker Process 已停止工作)导致无法连接远程数据库的问题
- 从主机 Windows 上无法远程访问 Linux 的 Tomcat 服务器解决方法
- 将SpringBoot Maven项目发布到远程tomcat服务器步骤及相关问题解决
- PDA访问web service时,“无法连接到远程服务器”问题的解决方法