这篇文章讲的是我这两天来对左岸读书的诊治过程——主要是解决左岸读书(wordpress)突然变慢的原因。
起因:
左岸这两天出现了很多的异常情况,就我这边的访问情况来看,打开首页或文章页面非常慢,一个页面要30秒的时间,还不时出现500internalservererror(http500–内部服务器错误)。不知是大家已经习惯了网站异常还是真的可以忍受这么慢的打开速度,左岸读书的访问量并没有减少,也很少有朋友向我反应,但我真的受不了,一定有什么东西不对劲,我必须发扬方法总比问题多的精神,把这件事情处理好。
过程:
起初,我以为(这个以为只是胡思乱想)是我的计算机浏览器有问题,但我发现我在后台编辑文章和评论时速度却非常快,这怎么可能呢?根据回忆(我必须回想我最近修改了些什么,事情不会无缘无故发生),我前段时间尝试了disinfeqt的建议安装了autoptimize这个插件,安装后一切正常,再配上我原来的wpsupercache插件,速度明显提升。会不会是成也萧何,败也萧何呢?
我首先停用了autoptimize这个插件,删除了一些相关文件(看到后面,你会知道,问题就出在这里),结果依然;然后我想,可能是wpsupercache出了问题,就修改的它的一些设置,甚至反复停用启用这个插件来测试结果,依然没有丝毫的改善。这个过程是痛苦的,它很消耗时间和精力,看着这个博客,就像看着自己的孩子生了病却找不到对症的药一样,这时,就连神通广大的google和baidu这样的大夫也束手无策。
接下来我把注意力转到了服务器(不是有500错误吗?),打开cpanel面板,重新设置了所有可能的选项,尤其是里面的ezconfig中的选项(我早先动过这里,默认时是不启用的),也停用过——可情况依然,我几乎快要崩溃了,就差要跟管理员联系了,但我也知道就算联系了,他也不一定能帮得上忙,因为问题只有自己最清楚。
我知道,我能做的都已经做了,时间已经过去1天半了,难道只剩下重新安装wordpress这个杀手锏了吗?实在不甘心啊,而且问题没有解决,再次遇到了还是会束手无策啊!angel说:“也许你应该把问题先放一放,好好休息一下,从其他的角度去寻找原因。”
我静下心来,我想我已经把wordpress恢复到原始状态了,速度还是很慢,我必须研究一下wordpress是怎么工作的。我们访问首页时,是打开网站根目录下的index。php,它引导我们访问require("。/wp-blog-header。php");,打开wp-blog-header。php发现这个文件多了个obstart;eval(base64decode());这样的函数,我不知道这是什么,通过和原始程序比较,发现这是多出来的,可我不能确定问题就出在这里,但我还是试着把这一段代码删了,结果首页出现了500错误。我又想,既然出现错误,总会留下痕迹,wordpress不是有个errorlog吗?打开它,研究一下,发现前面有很多的phpwarning,主要是出在一个publichtml/wp-includes/class-cache。php的文件里,我发现这个文件在原始程序里是没有的,应该是安装插件的时候加产生的,里面也是一大段的eval(base64decode());函数,所以我删了class-cache。php这个文件,奇迹出现了,首页打开的速度非常快,但我还必须启用wpsupercache这个插件,为了保险,我删除了原来的插件程序,清空了所有缓存,重新上传一个最新版的wpsupercache,启用,设置,找开首页,久违的速度啊,只用了0。670秒。到这里,我的心才真正放松一下。
结论:
这次的问题很简单,却很容易陷入死胡同,因为我们的思维常常会被很多的想当然所限制。
wordpress的稳定比什么都重要,所以安装插件和升级插件之前先考虑清楚,最好是能做好修改的记录,便以日后追踪;我们期望每一次的改进都能给我们带来进步,但要给自己留好后路,比如做好重要数据的备份;当一个问题很普遍时,隐藏在背后的原因就越多,越难以捉摸,因为一切皆有可能;解决问题的方法不能只有一个方向,如果这边走不通,应该试着打开思维,从另一个角度去想;当所有的办法都失效时,除了破釜沉舟之外,可以试着从根本出发,剥丝抽茧,也许会有所发现;当用google和baidu搜索的时候,别期望每次都有谁会给你一个非常满意的答案,你可能只能得到一些线索,那么别忽视这些东西,它们很可能是解决问题的一些提示。