php加速器eAccelerator安装及效果对比

最近想着如何优化一下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文件里设置即可。


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍; 安装步骤: # tar xvf eaccelerator-0.9.5.2.tar.bz2   # cd cd eaccelerator-0.9.5.2   # export PHP_PREFIX="/usr"   # $PHP_PREFIX/bin/phpize   # ./configure \   --enable-eaccelerator=shared \   --with-php-config=$PHP_PREFIX/bin/php-config   # make   # make install 修改配置文件: 我们首先要修改;php.ini,然后重启Apache;   在php.ini文件中,加入;   zend_extension="/usr/lib/php/extensions/eaccelerator.so" 注:模块的具体位置;   eaccelerator.shm_size="16" 注:共享内存大小;   eaccelerator.cache_dir="/home/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"   注:其中,模块的具体位置必须正确,以您的系统为准;共享内存大小可以自己调整,感觉16M还是可以的,根据服务器的情况,你自己调一下。缓存目录可以自己指定,我们在这里指定的是 /home目录上的 eaccelerator 目录,如果没有,自己创建一个;权限是0777;   以上的配置是把 eaccelerator 做为 Zend 的扩展模块来编译的办法。如果您的PHP是用安装模式编译的,要把 zend_extension改为zend_extension_ts 。   如果您是把 eaccelerator 做为 PHP的一个扩展,要用下面的配置 ;   extension="eaccelerator.so"   eaccelerator.shm_size="16"   eaccelerator.cache_dir="/home/eaccelerator"   eaccelerator.enable="1"   eaccelerator.optimizer="1"   eaccelerator.check_mtime="1"   是不是生效了,您要查看 /home/eaccelerator 目录中,当Apache服务器启动了,你随便点几个页面,如果在这个目录中,出现文件了。那就是生效了。如果没任何文件,就要找原因了 ……   这两个配置文件,是不是管用。要你自己根据情况来修改。   # mkdir /home/eaccelerator   # chmod 777 /home/eaccelerator   注:创建缓存目录池,权限是777 验证   等这一切完成后,就要重启Apache服务器,如果没弹出什么错误,大多是正确的。查看一下缓存池,点几个页面,就知道是不是管用了。好像是比较简单。   验证安装是否完成(两种方法)   1、打开命令行窗口,进入PHP安装目录,执行命令php -v,并查看命令结果。   E:\php >php.exe -v   PHP 5.2.10 (cli) (built: Jun 17 2009 16:16:57)   Copyright (c) 1997-2009 The PHP Group   Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies   with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator   with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technol   ogies   with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies   则配置正确。   2、创建一个php文件,内容如下:   <?php   phpinfo();   ?>   启动PHP并访问该网页,查看其中的Zend Engine部分的信息,应该与上边命令行的结果一样,则配置正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值