Live Writer 发布到 WordPress HTML 标记丢失的问题根源与解决

wp_html_missing

今天在搞 guaobackup 时遇到了一个非常奇怪的问题:通过 Windows Live Writer 发布的帖子中 html 标记的 <> 都被自动过滤掉了,要说 wordpress 自己也搞过很多个了,但是这样的问题还真是第一次遇到,而且仔细查看 wordpress 和 wlw 的设置后也没有发现类似的设置可以修改。

貌似我 blog 的帖子都是 google 找到答案。。。难道还能是百毒吗?原来这是 lib-xml2 2.6.30 到 2.7.3 之间的版本存在 bug,这篇文章很详细的讲述了这个 bug 的起因。解决办法:

  1. 修改 wp 源程序,刚才那篇文章中有办法,不推荐,以后升级很麻烦。
  2. 重新编译 php,用 expat 这个 xml 解析器替代 libxml2。
  3. 这个 wp 插件凑合一下。
  4. 也就是最彻底的解决办法:把 PHP 升级到 5.2.9 以上,libxml2 升级到 2.7.3 以上的版本。

虽然我用的是 php 5.3.3,但是在 phpinfo 中看到 dotdeb 这个 package 居然是用 libxml2 2.6 编译而来的,难怪存在这个问题。顺手把服务器做了个系统升级到 Ubuntu 10.10,php 和 nginx 也都用官方源和 ppa 升级到最新版,问题解决。

This entry was posted in 我的工作学习 and tagged , , , , , , . Bookmark the permalink.

One Response to Live Writer 发布到 WordPress HTML 标记丢失的问题根源与解决

  1. 貌似沙发,想问一下这些是计算语言吗?我只是因破网学了点网络操作,必修课学了C语言,其他的都与计算机无关,想自学java发现根本看不懂,还遇了个英文的开发环境。

Leave a Reply

Your email address will not be published. Required fields are marked *


× 5 = twenty five

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>