一-安装ZendOptimizer-3.3.9
ZendChina 5月24日讯:以前老版本 Zend Optimizer 的安装方法是运行安装脚本 ./install.sh,新的Zend Optimizer 3.3.9没有安装脚本,只能按照以下方法安装。

1. 下载文件源文件:
x86:
wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
 
2.[root@dns redhat]# tar -zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
3. [root@dns redhat]#cd ZendOptimizer-3.3.9-linux-glibc23-i386
这里要注意,进入data文件夹后,so文件是对应版本 的,看好 系统中的 PHP版本再安装。
[root@dns ZendOptimizer-3.3.9-linux-glibc23-i386]# ls
data  EULA-ZendOptimizer  Inventory.xml  LICENSE  md5  README-ZendOptimizer
[root@dns ZendOptimizer-3.3.9-linux-glibc23-i386]# cd data/
[root@dns data]# ls
4_2_0_comp  4_3_x_comp  5_0_x_comp   5_2_x_comp

4_2_x_comp  4_4_x_comp  5_1_x_comp  poweredbyoptimizer.gif

系统安装的是PHP是5.2版本的我们就选用 5_2_x_comp 下面的ZendOptimizer.so
 
5. 把 ZendOptimizer.so 文件拷贝到 /usr/local/Zend/lib
[root@dns 5_2_x_comp]# cp ZendOptimizer.so /usr/local/Zend/lib
5. 把下列两行加入php.ini,不要加入任何空格和制表符
zend_optimizer.optimization_level=15
zend_extension=/usr/local/Zend/lib/ZendOptimizer.so
6. 重启apache
注意的是如果你的系统是64位的,则要安装64位的版本,不然在64位的机器上会出现“wrong ELF class: ELFCLASS32”
ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
==================================================================
安装说明
1. Extract the Zend Optimizer package.

2. Locate the ZendOptimizer.so (Unix) or ZendOptimizer.dll (Windows) file in the directory which
   corresponds to your version of PHP (4.3.x, 4.4.x, 5.0.x, 5.1.x, 5.2.x).

2. Add the following line to your php.ini file:
   Linux and Mac OS X:     zend_extension=<full_path_to_ZendOptimizer.so>
   Windows:                zend_extension_ts=<full_path_to_ZendOptimizer.dll>
   Windows non-thread safe: zend_extension=<full_path_to_ZendOptimizer.dll>
   (*) The Windows non-thread safe binary is only used with Zend Core 2.0.

3. Restart your Web server.
 
 
 
资料:http://www.zendchina.net/?action-viewnews-itemid-1298

===================================================================

二、安装eaccelerator-0.9.5.3 

http://bart.eaccelerator.net/source/0.9.5.3/下载需要的安装包
1、安装步骤
[root@dns redhat]#tar -xvf eaccelerator-0.9.5.3.tar.bz2
[root@dns redhat]#cd eaccelerator-0.9.5.3
[root@dns eaccelerator-0.9.5.3]# less README
[root@dns eaccelerator-0.9.5.3]# export PHP_PREFIX="/usr/local/php5"
[root@dns eaccelerator-0.9.5.3]# $PHP_PREFIX/bin/phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
[root@dns eaccelerator-0.9.5.3]# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
[root@dns eaccelerator-0.9.5.3]# make
[root@dns eaccelerator-0.9.5.3]# make install
Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
#告诉你这模块在什么地方放着

因为是先我在php.ini中已经设置了extension的位置是/usr/local/php5/lib/php/extension 下面
[root@dns eaccelerator-0.9.5.3]# cp modules/eaccelerator.so /usr/local/php5/lib/php/extension/

2、创建缓存目录
[root@dns local]#mkdir eaccelerator
[root@dns local]#chmod 0777 eaccelerator
[root@dns local]#ls
drwxrwxrwx  2 root root  4096 06-13 11:45 eaccelerator
3、重启apache
4、查看phpinfo.php是否zendoptimizer和eaccelerator安装成功

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
    with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
    with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies

还有就是在apache重启之后看设置的缓存目录


====================================================================
下面是转自 http://blog.s135.com/post/202/这位大侠的eaccelerator配置参数:

二、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",表示最大压缩。