我正在使用“WP超级缓存“在 Ubuntu 12.04 服务器上安装 WordPress 插件,发现它与 php APC 不兼容。
安装并激活 WordPress 插件后,博客瘫痪,用户收到错误页面:
HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfil the request.
我注意到 Apache 错误日志 ( /var/log/apache2/error.log
) 中存在分段错误。
在 WP super cache 的故障排除部分常问问题我注意到对我的问题的描述:
- 您访问网站时出现的“死机白屏”或空白页几乎总是由 PHP 错误引起的,但也可能由 APC 引起。如果遇到问题,请禁用该 PHP 扩展,并用 eAccelerator 或 Xcache 替换。
因此我注释掉了 apc Apache 扩展并重新启动了 Apache:
> sudo emacs /etc/php5/apache2/conf.d/apc.ini
;extension=apc.so
> sudo service apache2 restart
果然,问题解决了——博客恢复正常并且启用了缓存。
问题是,我实际上也希望 APC 缓存能够运行。操作码缓存很有用。我知道我可以使用另一个操作码缓存,但有人知道我可以更改的 APC 设置以允许此插件与 APC 一起工作吗?
注意:我也尝试了 Ubuntu 10.10、11.04、11.10,遇到了完全相同的问题。
答案1
一直在寻找对此的更多技术解释。
我不认为这个问题与 Ubuntu 有关。我见过类似的 Wordpress WSOD 崩溃……APC、WP Supercache、Apache、FreeBSD。网站可以稳定运行一段时间,然后突然出现 WSOD。
Apache 重启(将刷新内存中的 APC 缓存)解决了该问题。
关闭 SuperCache 可以解决该问题。
SuperCache 可能存在一些与 APC 相关的难以察觉的错误...字符编码错误?