eAccelerator与php 5.4的兼容问题

NMM的文档库采用了MediaWiki,运行在nginx + php5 + mysql环境里,并由eAccelerator优化,由memcached进行缓存。

前天将服务器的php从5.3.12升级到了5.4.19,然后MediaWiki就白屏了。查了error log之后发现php产生了下面这条错误:

PHP Catchable fatal error: Argument 1 passed to ScopedCallback::__construct() must be an instance of Closure

由于是升级之后立即出现的故障,还以为是MediaWiki不兼容php 5.4,不过网上搜了一下,并没有说wiki与php 5.4不兼容。将错误信息原文google之后,搜到了这篇文章:

继续阅读eAccelerator与php 5.4的兼容问题

在CentOS中编译安装eAccelerator

目前我的Blog和NMM都运行在Linux + Nginx + MySQL + PHP架构上,辅以memcached进行一些缓存。

为了加速PHP,最近尝试着往服务器上装了eAccelerator,于是就把安装过程记录下来,防止忘记。

eAccelerator是一款免费开源的PHP加速器,其原理是使用共享内存存储PHP中间码,来避免每次执行时重复进行的脚本解析和编译工作,从而提高执行速度。官方标称其可以使PHP加速1-10倍。实际上我使用之后,确实感到PHP的速度有了大幅提高(虽然不知道是不是有“1-10倍”)。eAccelerator的安装调试其实很简单,网上的文章也很多(比如Michael的《给PHP加速,eAccelerator配置和使用指南》,介绍非常详细,很有参考学习价值),官方的文档也有描述。不过Michael的文章写于5年前,当时还是PHP5.1,eAccelerator也有了发展,于是写一篇自己的笔记。

继续阅读在CentOS中编译安装eAccelerator