Zblog多说评论插件的同步问题

时间:2016-12-09 20:04:51

自开始启用多说评论插件以来,各方面还是比较满意的,只是偶尔会出现评论框无法加载的问题,好在还能忍。但最近有了想换到搜狐畅言或者自带评论框的想法,原因是垃圾评论太多了,多说后台的过滤和黑名单机制根据没有任何作用,情况跟苏格博客如何将多说评论转回到typecho本地数据库说的差不多,几个spam团队打着免费分享的幌子,还有宣传某种少儿不宜的网站的,轮流变着法儿的灌评论,防不胜防。


Zblog多说评论插件的同步问题

由于这两类spam都是游客身份的留言,初步来看,应该是用工具直接POST提交的评论。反制这一类spam的方法,一是打开游客留言的评论审核,二是直接关闭游客留言。对于登录了社交账号的垃圾留言,就只有依赖多说的反垃圾策略的更新了。但目前来看,多说貌似停止了更新,看到官方社区的反馈貌似也没人理会,于是才有了上面的想法。


多说有个最大的优点,就是同步功能,除了主动双向同步外,也能通过反向同步接口实时的把评论数据回写到本地数据库,但是今天偶然发现,同步功能居然不能用了,作为一个博客,除了本身的文章外,最大的价值都是大家的留言,如果不能回到本地,那就意味着哪天多说不行了,大家的评论也就全都没有了,那还能忍,于是在插件设置上先手动同步测试一下,返回504 Gateway Time-out(tengine)错误,手动测试方向同步的API接口,发现可以正常返回评论数据,排除了多说API接口的问题。504 Gateway Time-out是网关超时,tengine淘宝根据nginx源码改造的web服务器开源系统,我并没有用这个系统,但用了阿里云的CDN,估计是阿里云CDN用的tengine系统。


当然这不是重点,504错误又是请求同步的操作,因此推测是php脚本超时的原因,在多说评论插件的duoshuo.api.php文件中,找到两个与此有关的函数,$ajax->open('GET', $url);$ajax->send();发送请求给多说API获取评论数据,检查open和send两个函数,发现并无问题,怀疑是curl模块本身的问题,于是在该文件的216行注释$json = json_decode($ajax->responseText);并增加增加两行代码$pinglun = file_get_contents($url); $json = json_decode($pinglun);发现居然OK了,问题是解决了,但检测curl模块也并无问题啊,这不科学。先不管这么多,又想到可能和php-fpm缓存设置有关,在duoshuo.api.php文件第208行,请求的URL中评论数量参数默认是imit=50,我改成30,发现居然也OK了,那么,基本可以断定的php-fpm缓存问题了,一次请求50条评论卡死了php-cgi处理进程,所以返回504错误。

本站所有文章均为小宇博客原创,转载请注明来源及出处!

作者:宇天行 (关于我

本文首发地址:https://www.huceo.com/post/447.html

或许您还会喜欢这些文章:

Tags: 作者:宇天行 | 分类:网络运营 | 评论:49 | 浏览:2728

您对本文《Zblog多说评论插件的同步问题》有哪些看法?  ---  【期待您的评论】

您正在以游客身份发表评论:

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

智宇2018-09-17 14:38:09回复评论
谢谢,分享。
访客2018-08-23 17:32:23回复评论
果然果然够
简单就好~~
上海养老院2017-03-24 09:28:29回复评论
简单就好
物以稀为贵~
文栋说2016-12-18 14:12:00回复评论
博主的主题真心很简单!
宇天行2016-12-25 13:52:03回复评论
简单就是最好的。。
卢松松商城2016-12-18 14:12:00回复评论
不要站在现在的高度,去判定未来的事情,因为未来的你是会成长的,会有新的选择和判断。
菜鸟网赚2016-12-18 14:12:00回复评论
我也是用这程序PHP1.5的 他自带的那个回复不好吗 干嘛要换呢
宇天行2016-12-18 14:12:00回复评论
其实也是,功能丰富一点吧。
多说前两天出的问题多啊,希望以后不会了。
宇天行2016-12-18 14:12:00回复评论
不是很稳定,我也在考虑要不要换
宇天行2016-12-18 14:12:00回复评论
简洁环保。。

站内文章搜索

转发分享好友

网盟广告赞助