缓存及ajax评论发表冲突

问题描述

最近Leniy’s Blog站点一直出问题,在访客留言时,会出现如下的错误提示。

出现HTTP 500 ERROR,导致ajax提交评论出现故障。

一、缓存问题


http500_yu
在最开始 Yu Jing 童鞋提醒我时,我还以为是因为我前几天大幅改动后台php源码及js脚本的缘故。随手找到备份的comments.ajax文件,重新覆盖到服务器上,随手清空了下缓存;果然恢复正常了。

但是刚刚 imlonghao 大神又说评论不能提交了。
既然代码已经恢复到之前正常的版本,自然排除这个原因。
为了临时恢复评论功能,我准备启用下第三方评论工具。然后看着后台提醒我清空缓存的提示,我然想到一个问题:我启用缓存是因为最近主机mysql检索超级慢,当用插件开启页面缓存时,我也打开了数据库缓存。
难道这就是原因?

马上去后台禁用database cache及page cache功能,测试………………
恢复正常。

二、PageSpeed问题

临时取消缓存后,我测试正常了,但是 imlonghao 大神还是反馈评论时出现500错误。
我使用匿名用户测试了一次,果然这样;切换回登录用户,又正常了。同时,在大神反馈500错误时,另一位读着已经成功的发表了一条评论。

看来还有一些问题。使用chrome的开发者工具,监控鼠标按下“发表评论”按钮后的数据情况,一行非常长的url出现了500错误。
其地址是这么样的:http_//blog.leniy.org/my_comment_ajax.php.***.css

my_comment_ajax.php是我用的ajax方式发布评论的php文件。***部分是Google PageSpeed分配的一个字符串。
看来就是这里了。当我的apache服务启用了mod_pagespeed后,会自动给各个文件路径加上一串字符串。本来一切应该没什么影响,但是不知道什么问题,把我的php文件定位成css了。
自然会出现这个问题。

取消mod_pagespeed,再测试。终于正常了。

作者: Leniy

Do not , for one repulse , give up the purpose that you resolved to effect .

本文著作版权归Leniy所有,并受法律保护。

转载、使用整体或任何部分的内容(包含但不限于各个页面的标题、评论框提示语)须经过Leniy的授权。

CopyRight © 2006-2017 Leniy.org all rights reserved.

20 thoughts on “缓存及ajax评论发表冲突

    • Leniy

      这个不是函数的问题,apache的mod_pagespeed导致的这个问题,可能我没有配置好吧

    • Leniy

      多说、评论啦、友言等同步有问题,对于我这个响应速度慢的主机来说

  1. 个别网站首页都用了 cache,导致我首次登陆怎么看都是没更新状态,还必须F5一下才行。cache这东西,有利有弊啊。

    • Leniy

      其实可以设置首页的cache缓存时间短些。几分钟更新一次首页的缓存就可以了

    • Leniy

      可能在你访问之前,有人用手机访问了,导致缓存的手机版吧。
      我稍后会调试一下

发表评论

电子邮件地址不会被公开。 必填项已用*标注