解决PHP的eAccelerator缓存模块出现500错误的故障

admin 发表于 [PHP] 分类,标签: 故障排除 eAccelerator
1

最近我给自己的VPS安装了eAccelerator缓存模块,但随之而来的麻烦也来了,我的网站总是出现500错误,让人头大如斗。
于是上网查询,令人遗憾的是没有一个有效的办法,有的甚至叫你禁用eAccelerator。最后从“eAccelerator 完全手册 ”一文中得知eAccelerator默认使用shm_and_disk模式,我心中在想,这会不会是VPS限制了共享内存呢,于是抱着试试看的态度将
eaccelerator.keys、eaccelerator.sessions、eaccelerator.content手动设置为disk_only,如下:

eaccelerator.keys = "disk_only"
eaccelerator.sessions = "disk_only"
eaccelerator.content = "disk_only"

保存,重启apache服务,故障成功解除,这说明这个错误至少是跟共享内存是有关的,于是我们用半角分号“;”注释掉上面我们设置的这三项(eaccelerator.keys、eaccelerator.sessions、eaccelerator.content),让它们使用默认值,并且设置:

eaccelerator.shm_ttl = "3600"
eaccelerator.shm_prune_period = "3600"

它们原来的值是0,现在把它改成3600。保存,重启apache服务,测试,依然没有再现500错误,至此这应当就是最佳的解决方案了。

1 条评论

发表我的评论