PHP加速器 eaccelerator 介绍

作者:北南南北
来自:LinuxSir.Org
摘要: 大多PHP程序,都要在服务器端安装加速器,以提高程序程序效率。我们所介绍的这款eaccelerator加速器,实际上是一个自由软件,目前仍是免费的;这对于节省服务架设成本来说,也是一个不错的选择;


目录





+++++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++++


1、 PHP加速器 eaccelerator 简介;

eaccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了性能php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍;

官方主页: http://eaccelerator.net


2、 安装和配置;

首先您要安装好PHP,然后再来编译安装 eaccelerator,过程如下。我们从官方下的版本是 eaccelerator-0.9.5.2.tar.bz2


2.1 编译安装;

# 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

注:通过export 来设置php所在的安装路径变量,我的PHP是安装在/usr目录下,系统用Slackware 12.0。其它系统如果默认安装也大体差不多;如果不一样,就自己指定一下;

完成安装后,eaccelerator.so模块位于 /usr/lib/php/extensions目录中,您的系统如果和我不一样,您自己应该安装在哪了;

# echo "/usr/lib/php/extensions" > /etc/ld.so.conf
# ldconfig

注:更新动态链接库地址;


2.2 修改配置文件;

我们首先要修改;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服务器,如果没弹出什么错误,大多是正确的。查看一下缓存池,点几个页面,就知道是不是管用了。好象是比较简单。


3、 关于本文;

本文是介绍 PHP加速器 eaccelerator 的文档,并没有咆嘘eaccelerator有多好。我只看重效果,在 LinuxSir.Org 使用的过程中,感觉还是不错的。由于用了,所以就把这个东西介绍给新手或刚从事服务器管理的弟兄。PHP加速器有好多,但在自由软件下,目前不必花银 子的并且一直坚持开发的, eaccelerator就是其中一个。所以,我还是本着负责的态度把这个东西介绍给大家,呵呵~~~ 当然 LinuxSir.Org 已经用了好几年了,也用过 eaccelerator 的前身 TurckMMCache。


4、 参考文档;

eaccelerator的README文档;


5、 相关文档;

《关于Apache (httpd)服务器防DDOS模块mod_evasive的使用说明》

后续设置也很重要

要把控制的几个php文件放到apache目录下 设置收缩时间 不然目录会满 还有内存好像最多支持到32m 我试验128m 连续无报错死机!!!!
小毛病还挺多的 但是感觉效果很好 能减轻负载

实际上加速器是对于复杂的程序加速效果才比较

实际上加速器是对于复杂的程序加速效果才比较明显,eAcct还是不错的,单加速效果来说比Zend Optimizer好不少,目前PECL新加入的APC不知道效果如何.有空我可以写测试文档来看看.

就是把php.ini里的相关语句注释掉,重启apache就ok

怎么卸载呢?
就是把php.ini里的相关语句注释掉,重启apache就ok了?

是的~

是的。既然可以添加上,同样也是可以删除的~~~

+++++++++++++++++++++++++++++++++
自由与梦想齐飞,欢迎光临LinuxSir.Org;
开源传万世,因有我参与;

你好,看了您的文章,我配置了下,是成功了。

你好,看了您的文章,我配置了下,是成功了。
但我用ab测试了下页面反应时间和以前差不多。
./ab -n 1000 -c 100 http://XXX.XXX.XXX/index.php
我想问下我这样测试方法有无问题?

好象兄弟搞错了吧。

这是PHP加速器啊。
++++++++++++++++
自由与梦想齐飞,欢迎光临LinuxSir.Org;
开源传万世,因有我参与;

Thank you very much.As I

Thank you very much.As I know,jordans, are refered as michael jordan shoes, Jordans sneakers, they are popular products made by Nike, Inc.air jordan was designed for and endorsed by legendary professional basketball player, Michael Jordan. running shoes.The retro jordan shoes line is created by Jordan Brand, a sub-division of Nike. They are more popular than nike shox, Puma sneakers, puma shoes, Basketball sneakers, basketball shoes, nike air force (Also known as air force ones) and nike air max. Since its first release in 1984, there have been new designs of the air jordans released each year, even after Jordan retired from basketball.Of caurse,these are hotter than bapes.