现在博客使用的VPS的操作系统是Debian4,用Lighttpd+PHP(Fast-cgi)+Mysql+Zend Optimizer搭建起来的,fast-cgi模式下的PHP程序的效率很高,但是我还是不满足,于是便加装了eAccelerator来缓存一下动态内容。我想这样做会使php5-cgi的cpu时间降低。毕竟从一个缓存中取得文件比重新生成一个文件要简单的多。由于之前没有做压力测试,所以添加后并不知道数据上的差异,这只能凭个人感觉了。
先普及一下什么是eAccelerator
eAccelerator是一个开源并且免费的PHP加速器,优化器,编码器,同时也能够为PHP提供动态内容缓存。它能够将PHP脚本缓存为已编译状态以达到提升PHP脚本运行性能的目的,因此传统的预编译几乎被消除。eAccelerator也能够优化PHP脚本以提升PHP脚本的执行速度。eAccelerator可有效降低服务器负载并且提高PHP程序速度达1-10倍。
TurckMMCache是eAccelerator的前身。
()
eAccelerator包含一个PHP编码器和加载器。您可以使用编码器对.php脚本进行编码,从而能够以非源代码方式发布您的PHP程序。经过编码的PHP程序可以运行在任何安装有PHP解析环境和eAccelerator的站点上,由于编码后的PHP程序存储为已编译代码,并且已编译版本中不包含程序的源代码,因此,经过eAccelerator编码的PHP程序是不能被还原恢复的。当然,一些内部脚本可以被某些不同的反编译引擎工具(如disassemblers,debuggers等)进行还原恢复,但这并非是微不足道的。
eAccelerator与ZendOptimizer加载器兼容。在php.ini中,ZendOptimizer必须在eAccelerator之后加载。如果您的站点不运行任何经由Zend编码器编码的PHP脚本,那么我们并不推荐您在安装eAccelerator的服务器上安装ZendOptimizer。
eAccelerator不能运行于CGI模式下,但它可以运行于像lighttpd类似的Fast-CGI模式。
安装eAccelerator过程很简单。分为以下几步即可
第一步:下载安装php5-dev和make,待会编译eAccelerator时会用到
apt-get install php5-dev make
第二步:下载eAccelerator源码包,到下载最新稳定版
wget
第三步:解开压缩包,并进行编译安装
unzip eaccelerator-0.9.5.3.zip
cd eaccelerator-0.9.5.3
phpize
./configure –enable-eaccelerator=shared –with-php-config=/usr/bin/php-config
make&&make install
至此,eAccelerator已经在系统上安装完毕!
然后在usr/local/Zend/etc/php.ini中添加以下配置
extension=eaccelerator.so
[eaccelerator]
eaccelerator.shm_size=32
eaccelerator.cache_dir=/tmp/eaccelerator
eaccelerator.enable=1
eaccelerator.optimizer=1
eaccelerator.check_mtime=1
eaccelerator.debug=0
eaccelerator.filter=
eaccelerator.shm_max=0
eaccelerator.shm_ttl=0
eaccelerator.shm_prune_period=0
eaccelerator.shm_only=0
eaccelerator.compress=1
eaccelerator.compress_level=9
接着为eAccelerator创建一个临时缓冲目录,这里我们定义为/tmp/eaccelerator,并保持这个目录可写!
mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator
最后重启Lighttpd服务器即可!
/etc/init.d/lighttpd restart
至此,所有工作已经完成,可以在phpinfo中看到eAccelerator的版权信息!