eAccelerator(eacc)配置笔记

2、ini文件配置
安装完成,开始配置php.ini文件,eAccelerator提供了两种配置和调用方式,分别如下。
安装为 Zend extension 模式
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "/var/log/eaccelerator_log"
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"
如果使用了thread safe模式安装的PHP,你必须使用 “zend_extension_ts” 替换第一行的 “zend_extension”.
安装为 PHP extension 模式:(这是大部分采用的方式)
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "/var/log/eaccelerator_log"
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 /tmp/eaccelerator
#chmod 777 /tmp/eaccelerator
3、验证安装结果
通过浏览器访问您的phpinfo()页面或者运行 php -v 得到php配置信息
同时还安装了Zend Optimizer3.2.8(要在php.ini中把ZO的配置选项写在EA的后面)看到的成功信息如下:
PHP 4.4.7 (cli) (built: Aug 30 2007 08:37:36)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
    with eAccelerator v0.9.5.1, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
    with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
    with Zend Optimizer v3.2.8, Copyright (c) 1998-2007, by Zend Technologies
   报错:用 PHP extension 调用模式
PHP Warning:   Unknown(): Unable to load dynamic library './eaccelerator.so' - ./eaccelerator.so: cannot open shared    object file: No such file or directory in Unknown on line 0
solution:
   提示是找不到库文件,在/etc/php.ini修改 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/"
   为绝对路径,就ok了

二: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"。
[root@web22 log]# tail -f /var/log/eaccelerator_log
EACCELERATOR hit: "/var/www/main/story/detail.php"
EACCELERATOR hit: "/var/www/main/includes/global_top.php"
EACCELERATOR hit: "/var/www/main/includes/config.inc.php"
EACCELERATOR hit: "/var/www/main/includes/function.inc.php"
EACCELERATOR hit: "/var/www/main/includes/msg.inc.php"
EACCELERATOR hit: "/var/www/main/includes/security.inc.php"
 以上提示表示上述php文件得到缓存和命中。。
  --------------------
  
  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",表示最大压缩。

优化和动态内容缓存,提高了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、付费专栏及课程。

余额充值