操作系统:Linux

一、安装eaccelerator-0.9.5(同时支持ZendOptimizer-3.2.2)

  1、首先安装ZendOptimizer-3.2.2

  # wget http://www.vista.ac.cn/linux/down/ZendOptimizer/ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gz  # tar zxvf ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gz  # cd ZendOptimizer-3.2.2-linux-glibc21-i386  # ./install.sh

在Please specify the location for installing ZendOptimizer:提示后输入ZendOptimizer安装路径,例如/data/webserver/zend

  在Confirm the location of your php.ini file:提示后输入php.ini文件所在目录,例如/data/webserver/php/etc

  在Specify the full path to the Apache control utility (apachectl):提示输入apachectl绝对路径,例如/data/webserver/apache/bin/apachectl

  2、再安装eaccelerator-0.9.5加速软件(推荐学习:PHP视频教程)

  # wget http://www.vista.ac.cn/linux/down/eaccelerator/eaccelerator-0.9.5.tar.bz2  # tar jxvf eaccelerator-0.9.5.tar.bz2  # cd eaccelerator-0.9.5

  指定php所在路径:

  # export PHP_PREFIX="/data/webserver/php"  # $PHP_PREFIX/bin/phpize  # ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config  # make  # make install

这时会将eaccelerator安装到php目录中,屏幕会显示eaccelerator.so所在路径,例如:

  Installing shared extensions: /data/webserver/php/lib/php/extensions/no-debug-zts-20060613/

  记住这个路径。

  eaccelerator即可以安装为PHP扩展,也可以安装为zend扩展,以下安装为PHP扩展。

  如果存在/etc/php.d目录,需要拷贝eaccelerator.ini到该目录下,然后修改缺省值。如果不存在,修改php.ini,在[zend]之前加入以下内容(注:必须放在[zend]之前):

[eaccelerator]  extension="/data/webserver/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"  eaccelerator.shm_size="32"  eaccelerator.cache_dir="/data/cache/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"

  建立缓存目录:

    # mkdir -p /data/cache/eaccelerator  # chmod 0777 /data/cache/eaccelerator

  重启Apache:

 # service httpd restart

  3、检查ZendOptimizer和eaccelerator是否安装成功

  创建一个phpinfo.php文件,内容如下:

  <?php      phpinfo();  ?>

  将该文件放置到网站目录,在浏览器中访问,如果出现以下内容则安装成功:

  This program makes use of the Zend Scripting Language Engine:  Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies      with eAccelerator v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator      with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies      with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend Technologies

二、eaccelerator配置信息详解(根据官方英文说明翻译)

extension="/data/webserver/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"

解释:PHP扩展eaccelerator.so的路径。

--------------------

eaccelerator.shm_size="32"

解释:eaccelerator可使用的共享内存大小(单位为MB)。

  在Linux下,单个进程的最大内存使用量受/proc/sys/kernel/shmmax中设置的数字限制(单位为字节),例如CentOS 4.4的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。

临时更改该值:

# echo 字节数 > /proc/sys/kernel/shmmax

按照以上方法更改,在每次重启系统时,该值会被自动还原。如果想永久更改,可以修改/etc/sysctl.conf文件,设置:

  kernel.shmmax = 字节数

--------------------

  eaccelerator.cache_dir="/data/cache/eaccelerator"

解释:缓存路径,可以使用命令mkdir -p /data/cache/eaccelerator创建该目录,然后使用命令chmod 0777 /data/cache/eaccelerator设置该目录权限为0777

--------------------

    eaccelerator.enable="1"

解释:打开或者关闭eaccelerator。"1"指打开,"0"指关闭。默认值为"1"。

--------------------

  eaccelerator.optimizer="1"

解释:打开或者关闭代码优化,开启可以加快代码的执行速度。"1"指打开,"0"指关闭。默认值为"1"。

--------------------

  eaccelerator.check_mtime="1"

解释:当打开此项时,eaccelerator会在每次请求时检查php文件的修改时间,看其是否被修改过,这会耗费一点时间,如果php文件被修改过,eaccelerator会重新编译缓存该php文件。当关闭此项时,如果php文件被修改,则需要手工删除eaccelerator缓存,才能显示被修改的php文件。"1"指打开,"0"指关闭。默认值为"1"。

--------------------

  eaccelerator.debug="0"

解释:打开或者关闭调试记录。当打开时,eaccelerator会将对一个缓存文件的每次请求都写进log。打开此项只对调试eaccelerator是否有BUG时有益处。"1"指打开,"0"指关闭。默认值为"0"。

--------------------

  eaccelerator.filter=""

解释:决定哪些PHP文件应该被缓存。可以指定一个范围(比如"*.php *.phtml"),这样被指定的文件就会被缓存。如果该范围以!开头,被指定的文件就不会被缓存。默认值为"",表示缓存所有的PHP文件。

--------------------

  eaccelerator.shm_max="0"

解释:一个用户使用例如eaccelerator_put之类的函数能够往共享内存中加载的最大数据。默认值为"0",表示不限制。(单位为字节)

--------------------

  eaccelerator.shm_ttl="0"

解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删除至少在shm_ttl秒之前没有被访问过的文件。默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)

--------------------

  eaccelerator.shm_prune_period="0"

解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删所有旧脚本,前提是这个尝试在超过shm_prune_period秒之前被执行过。默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)

--------------------

  eaccelerator.shm_only="0"

解释:打开或者关闭在磁盘上缓存编译过的脚本。这个参数对会话数据和内容缓存没有效果。默认值为"0",表示使用磁盘和共享内存来缓存。

--------------------

  eaccelerator.compress="1"

解释:打开或者关闭缓存内容压缩。"1"指打开,"0"指关闭。默认值为"1"。

--------------------

  eaccelerator.compress_level="9"

解释:内存压缩的级别。默认值为"9",表示最大压缩。

  参考资料:

  1、Installing from source (http://www.eaccelerator.net/wiki/InstallFromSource)

  2、eAccelerator settings (http://www.eaccelerator.net/wiki/Settings)

更多相关文章

  1. 非常实用的PHP常用函数汇总-加密解密、字符串操作、文件操作、SQ
  2. PHP下载远程文件到指定目录
  3. PHP字节码缓存和内置服务器
  4. PHP和Nginx文件上传大小限制问题
  5. PHP 如何上传文件和下载
  6. 用PHP实现一个简易版文件上传功能(超详细讲解)
  7. php文件包含漏洞原理浅探
  8. php读取大文件的行数的方法
  9. php实现对文件夹目录中的文件进行排序的方法

随机推荐

  1. c语言console.WriteLine什么意思?
  2. c语言中要求对变量作强制定义的主要理由
  3. c语言大小写字母怎么转化?
  4. dev c++怎么用
  5. c语言中do while语句怎么使用
  6. c语言取余符号是什么
  7. C语言中system()函数怎么用?
  8. c语言strlen函数用法是什么
  9. c语言%什么意思
  10. c语言合法标识符的要求是什么