Debian下安装eAccelerator加速PHP执行效率

发表时间:2010-05-18内容来源:站长资讯收集整理

  现在博客使用的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的前身。

  (http://sourceforge.net/project/turckmm-cache/byDmitryStogov)

  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源码包,到http://eaccelerator.net下载最新稳定版

  wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.zip

  第三步:解开压缩包,并进行编译安装

  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的版权信息!

  • 站长资讯刊登此文只为传递信息,并不表示赞同或者反对作者观点。
  • 如果此内容给您造成了负面影响或者损失,本站不承担任何责任。
  • 如果内容涉及版权问题,请及时与我们取得联系。

文章评论

共有 位CH网友发表了评论 查看完整内容