eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍。
1. 编译安装 eaccelerator,过程如下。我们从官方下的版本是 eaccelerator-0.9.5.2.tar.bz2
编译安装;
# tar xvf eaccelerator-0.9.5.2.tar.bz2 # 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
注:通过export 来设置php所在的安装路径变量,我的PHP是安装在/usr目录下,系统用Slackware 12.0。其它系统如果默认安装也大体差不多;如果不一样,就自己指定一下;
完成安装后,eaccelerator.so模块位于 /usr/lib/php/extensions目录中,您的系统如果和我不一样,您自己应该安装在哪了;
# echo "/usr/lib/php/extensions" > /etc/ld.so.conf # ldconfig
注:更新动态链接库地址;
修改配置文件;
我们首先要修改;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
(较为安全的应该是0644,原文: A safer and cleaner way would be to change the owner of the directory to the same user PHP runs as (most of the time the same user as Apache or Lighttpd) and set 0644 permissions.)
2. 验证编辑
等这一切完成后,就要重启Apache服务器,如果没弹出什么错误,大多是正确的。查看一下缓存池,点几个页面,就知道是不是管用了。好像是比较简单。
验证安装是否完成(两种方法)
1、打开命令行窗口,进入PHP安装目录,执行命令php -v,并查看命令结果。
php -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部分的信息,应该与上边命令行的结果一样,则配置正确。
参考:http://www.cuwww.com/help/detail-60
安装eAccelerator
wget http://down.wdlinux.cn/in/eac0961_ins.sh sh eac0961_ins.sh
安装完毕后,也需要到php.ini文件最后看看有没有以下配置代码,如果没有,请手工加上。
extension_dir="/www/wdlinux/apache_php/lib/php/extensions/no-debug-non-zts-20090626/" extension="eaccelerator.so" eaccelerator.shm_size="8" eaccelerator.cache_dir="/www/wdlinux/eaccelerator_cache" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="3600" eaccelerator.shm_prune_period="3600" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
很多人安装eAccelerator之后,发现phpinfo里面是找不到的,可以把最上面的两行替换如下:
extension_dir="/www/wdlinux/php/lib/php/extensions/no-debug-zts-20060613" extension="/eaccelerator.so"