博客评论挂掉3天后死而复生
真是非常的荣幸,清明节假日前一天这个WordPress博客的评论不知原因的挂掉了,然后我并没有发现,昨天晚上我正在上网的时候收到夏影残雪的报错邮件,我才发现评论挂掉了。
-
WordPress无法(不能)提交评论:
我以为是安装Ajax评论出了问题,把Ajax去掉以后仍然无法提评论,我在本地装上Ajax评论后却可以添加评论,所有出问题的不是Ajax评论。
在后台添加回复也没有任何反应,注意到无法提交评论的表现是:点击提交按钮后跳到页面“http://www.digegg.com/wp-comments-post.php#comment-”就变成空白了,正常情况下提交评论的地址应该是“/wp-comments-post.php#comment-ID”到Google上搜了一下“wp-comments-post.php#comment-”,看到说是数据库出了问题,检查一下数据库果然发现了问题:#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘comment_agent’ at line 1
-
解决WordPress无法评论的常见办法:
看到有人给出的常见无法评论的解决办法如下:
如果phpMyAdmin提示#1406 – Data too long for column ‘comment_agent’ at row 1
这是由于comment_agent字段的数据太长造成的,解决办法是:把数据库里comment_agent字段的最大长度改大,如:512或1024。
变相的解决办法是:打开/wp-includes/comment.php文件
在“$data = compact(‘comment_post_ID’, ‘comment_author’ ,’comment_author_email’”之前添加如下代码:$comment_agent = ‘Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 ‘;
这其实就是为评论的comment_agent字段指定一个固定的值。
-
我的解决办法:
遗憾的是上面的办法并没有解决我的问题,修复数据库之后问题仍然存在,为了节省时间拿来出问题前一天备份的数据登录phpMyAdmin还原,果然OK了,遗憾的是弄丢了一些评论,非常抱歉!
提醒大家一定要定期做数据备份,预防不可预见的问题。 -
后续:
刚看到国外有个人给出的解决办法是重建wp_comments表:
DROP TABLE IF EXISTS wp_comments;
CREATE TABLE wp_comments (
comment_ID bigint(20) unsigned NOT NULL auto_increment,
comment_post_ID bigint(20) unsigned NOT NULL default ’0′,
comment_author tinytext NOT NULL,
comment_author_email varchar(100) NOT NULL default ”,
comment_author_url varchar(200) NOT NULL default ”,
comment_author_IP varchar(100) NOT NULL default ”,
comment_date datetime NOT NULL default ’0000-00-00 00:00:00′,
comment_date_gmt datetime NOT NULL default ’0000-00-00 00:00:00′,
comment_content text NOT NULL,
comment_karma int(11) NOT NULL default ’0′,
comment_approved varchar(20) NOT NULL default ’1′,
comment_agent varchar(255) NOT NULL default ”,
comment_type varchar(20) NOT NULL default ”,
comment_parent bigint(20)不知道这样能不能解决问题。
现在应该好了吧?
@棒棒糖
是的,昨天才好
我之前也挂了几天
后来如何解决的呢?
能解决就好了 这个真的只要结果 哈哈