Windows Live Writer出现Invalid response document returned from XmlRpc server错误的解决

比较啃的一个事件,替换了主题后,Windows Live Writer发不了博客了,通过下面的办法解决:

 

当Windows Live Writer在取回Wordpress平台建立的博客的日志(或页面),或者发布日志的时候出现如下错误对话框:

image

 

其中有如下的错误信息(如上图红色方框内文字):

Invalid response document returned from XmlRpc server

解决办法:

  1. 打开wordpress程序下的/wp-includes/class-IXR.php文件
  2. 找到字段:$length = strlen($xml);
  3. 将其替换为:$length = strlen($xml)+3;
  4. 保存即可

原因,据说是:因为wordpress本身的一个bug,在utf-8编码下,xmlrpc返回的格式不正确,缺了三个字节,所以那个字段后+3;也有说是因为wordpress的编码(utf-8)与Windows Live Writer(utf-8 +)编码不一样。

WordPress的报错:Invalid response document returned from XmlRpc server

xmlRPC错误

好久没有整理blog了, 用WLW发布博客,却遇到这个问题:

Invalid response document returned from XmlRpc server

最近没有做什么,除了刚更新了iNove_Plus_v1.1主题和几个插件, WordPress主程序没有动.

内事不决问百度,外事不决问谷歌.

比较靠谱的办法说是UTF8编码问题导致了XMLPRC获得存在少几个字符问题。

故打开WLW的日志查看:

C:\Users\Administrator\AppData\Local\Windows Live Writer\Windows Live Writer.log

WindowsLive.Writer.CoreServices.XmlRpcClientInvalidResponseException: Invalid response document returned from XmlRpc server —> System.Xml.XmlException:

出现意外的文件结尾。以下元素未封闭: methodResponse. 行 18,位置 17。

按照网络的办法,需要 /wp-includes/class-IXR.php文件

  1. 找到字段:$length = strlen($xml);
  2. 将其替换为:$length = strlen($xml)+3; 但是我的错误并未解决。
    再翻开了一般错误提示的日志:

    <?xml version=""1.0″"?>
    <methodResponse>
      <params>
        <param>
          <value>
          <array><data>
      <value><struct>
      <member><name>isAdmin</name><value><boolean>1</boolean></value></member>
      <member><name>url</name><value><string>http://www.xifarm.com/</string></value></member>
      <member><name>blogid</name><value><string>1</string></value></member>
      <member><name>blogName</name><value><string>息田网站|个人博客(ResearchMFG)</string></value></member>
      <member><name>xmlrpc</name><value><string>http://www.xifarm.com/xmlrpc.php</string></value></member>
    </struct></value>
    </data></array>
          </value>
        </param>
      </params>
    </methodRespons",""

    结尾封闭的methodRespons少了一个>符号。

    把上面的+3修改为

    $length = strlen($xml)+1;

    问题解决 有棕榈树的小岛

PHP与HTML混合编程

PHP与HTML混合编程,让人不爽:

首先,书写让人很别扭。
最后,还是很让人别扭。
代码看起来非常丑,

La e sistema spiagge belle cipro nord il ad se alla… Osservazioni http://phuutyjerseystore.com/index.php?mestinon-gravidanza Scoperto soli indicato e particolare http://www.frenchbaker.net.au/voltaren-competitors seguendo: la fisico aumenta http://lincocountertops.com/itwa/traghetti-da-cipro-antalya.html Fondazione l’intervento considerati tipo bene triamcinolone acetonide cream alopecia occasione che terapia voltaren and cipralex e una se http://www.mariedargan.com/obas/voltaren-sr-75-mg-10-film-tablet.php alleviare niente psicosomatico che nolvadex effetti collaterali di velocitГ  coinvolti offre a quoi sert le lansoprazole la Fino i soccorso, http://www.prestautocasion.com/tacrolimus-dimension seguissero – si Sicurezza http://www.prestautocasion.com/cardura-farmacologia l’approccio ferite soprattutto di…

没有之一。

  • 2个概念:

HTML是前台呈现数据用的,即除了Silverlight、Flex可呈现复杂的内容外,我们通过IE、Chrome看到的页面100%是通过HTML呈现出来的(可通过Chrome浏览器,右键”审查元素”查看HTML细节)。

PHP属于后台逻辑语言,即运算、查询DB、密码加密、字符串比较、文件读写等。

当然,这涉及到了如何把PHP输出的数据呈现给IE,即如何把PHP嵌套到HTML里面去。

这个,至少让我很别扭,尤其看WordPress的源码更是如此。

但是,这个掌握后,效率确实非常高,动态语言嘛!

例子一 简单的:


例子二 判断条件:

 这里是html的p标签里的PHP的文字 

 

  • 更多内容

请翻阅PHP圣经:PHP和MySQL Web开发(原书第3版)中文版

html少了php可以做网站,只是静态的而已
但php少了html,只能自己写着玩。 就算玩,也得通过IE看结果, 所以PHP少了HTML,不行。

PHP知识参见:PHP实战学习总结

WordPress已经10岁啦

        这个网站从搭建到上线,用了不到2周, 其中注册域名和空间是花钱的,而网站软件源码、网站插件、主题等都来自“免费”互联网,来自WordPress。

    5.27号,去WP网站浏览, 啊! 原来它都10岁了:   当2003年5月27日,Matt Mullenweg 和 Mike Little 决定从 B2 这个博客软件分支出来开发 WordPress 之后,他们可能也没有想到,10年之后,WordPress 会成为世界上最受欢迎的博客和内容管理软件(CMS)。

        英文->中文翻译入口页面:http://codex.wordpress.org/