您好,欢迎访问一九零五行业门户网

装配及配置eaccelerator-0.9.5加速PHP-5.2.1

安装及配置eaccelerator-0.9.5加速php-5.2.1
操作系统: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加速软件
# 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文件,内容如下:
将该文件放置到网站目录,在浏览器中访问,如果出现以下内容则安装成功:
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)
【以上内容转载张宴博客】
其它类似信息

推荐信息