akismet 导致WordPress的管理程序失常
2009-10-11, 发表于: it数码, 软件开发 · 标签:akismet, web应用, wordpress · 评论:0
昨日正当准备继续更新网站时,忽然发现WordPress的管理程序失常。所有文章、评论、页面都消失。并且不能发表新文章。但是通过其他客户端可以正常发表文章,例如iPhone的BlogPress,或者Firefox的扩展:ScribeFire。今天找个时间检查了一下,终于发现是akismet导致。

什么是akismet?
Akismet是一个防Spam垃圾留言的插件,现在的WordPress都捆绑Akismet,默认安装。有了akismet之后,基本上不用担心垃圾留言的烦恼了。
一直以来Akismet都运行良好,为我的网站过滤了大量垃圾留言。可以认为,这是WordPress必装的一个插件。
昨天正准备更新内容,一登录控制面板,被眼前的景象吓了一跳。所有文章、评论、页面数量都是“0”。马上打开前台的页面查看,前台的页面一切正常。
因为还有其他事情安排,没有继续深入检查出错的原因。昨晚尝试着用iPhone中的BlogPress发表一篇文章,可以正常发布。用Firefox中的ScribeFire修改,也正常。初步断定是WordPress管理程序出了问题,而导致出错的最终源头可能是某个WordPress插件。
今天专门安排了一个时间检查问题。首先把所有插件移走。这时所有文章都出来了,可以断定是插件出的问题。然后把插件逐个移回plugin文件夹中。因为akismet是第一个移回去的,文章又全部消失了。就这么简单,确定了是Akismet的原因。
为什么Akismet会导致WordPress出错呢?
Akismet在运作时需要访问Akismet的数据库,获取垃圾评论的相关数据。Akismet的数据库服务器在中国境外的。最近几天GFW似乎发威,又疯狂堵截了一批境外的IP地址(我的另外一个境外虚拟主机也无辜受牵连)。Akismet不能正常访问数据库,于是导致出错,影响到WordPress的稳定。
虽然移走Akismet,将面临大量垃圾评论。但为了WordPress能正常使用,只好忍痛割爱,暂时把Akismet移走了。
