php加速器eAccelerator安装及效果对比
更新:HHH   时间:2023-1-7


最近想着如何优化一下php,找到了eAccelerator这个开源软件,一下引用一段官方说明介绍eAccelerator:

eAccelerator是一款php加速和优化软件,通过将编译后的php缓存起来来提高php的性能。通常能够降低服务器负载并加快php执行1-10倍(官方说法)。

注:只支持5.1以上的php版本


下面记录一下安装过程以及使用前后的效果对比。

1、下载安装

   依赖的软件包:autoconf, automake, libtool, m4

   wget https://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/master

   tar jxvf eaccelerator-0.9.6.1.tar.bz2

   cd eaccelerator-0.9.6.1

然后,执行

/usr/local/php5.3.28/bin/phpize   (此步骤为生成configure文件。具体路径修改下就ok。phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,官方说明网址为:http://php.net/manual/en/install.pecl.phpize.php)


若执行时遇到关于autoconf的报错,如下

    Cannot find autoconf. Please check your autoconf installation and the
    $PHP_AUTOCONF environment variable. Then, rerun this script.

此问题是因为没有安装m4和autoconf,yum安装即可

    yum install m4
    yum install autoconf

编译完成后,make & makeinstall

2、修改php配置文件,php添加eAccelerator有两种方式,一种是作为zend的扩展,一种作为php的扩展。先说作为php的扩展:

在php.ini的扩展配置部分(可在php.ini里搜索extension)添加如下内容


extension="eaccelerator.so"

eaccelerator.shm_size="16"   #eAccelerator可用的最大内存,单位M

eaccelerator.cache_dir="/tmp/eaccelerator"   #磁盘用来存储缓存的目录,eAccelerator在这里存储预编译代码、session数据、内容和用户条目。同样的内容也可以存储到内存中以便更快的读取。

eaccelerator.enable="1"   #1允许   0禁止

eaccelerator.optimizer="1"   #意识是是否允许内部优化器,1允许 0禁止

eaccelerator.check_mtime="1"   #是否允许检查php文件是否更改,如果你想重新编译php文件在他们修改后,则这里应该设置为“1”

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="0"

eaccelerator.shm_prune_period="0"   #从内存中清除缓存的周期,0为不清除

eaccelerator.shm_only="0"   #是否允许在磁盘缓存编译过的文件。这不会影响到session数据和内容的缓存。0表示同时启用磁盘和内存缓存

配置完成后,重启apache。打开几个页面之后,观察指定的目录里有没有文件产生。如果想获得更多地信息,可以拷贝control.php至到网站目录下并且在php.ini文件中添加

eaccelerator.allowed_admin_path “control.php路径”

同时还可以设置访问control.php的用户名和密码,在control.php文件里设置即可。


效果:我们公司的网站访问量没那么大,优化后的效果不是很明显。但是进行压测的时候性能还是有一定的提升。

返回web开发教程...