返回   青蛙论坛 » IT论坛 » 操作系统类
用户名
密码
帮助 会员 日历 标记论坛为已读

回复
 
主题工具 显示模式
旧 03-27-2005, 11:16   #1
chyangwa
蝌蚪-小毛驴
 
chyangwa的头像
 
注册日期: Nov 2000
来自: 上海
帖子: 8,285
精华: 6
用eAccelerator(前身Truck MMCache)加速PHP

用eAccelerator(前身Truck MMCache)加速PHP

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

What is eAccelerator?
----------------------
eAccelerator is a free open source PHP accelerator, optimizer, encoder and
dynamic content cache for PHP. It increases performance of PHP scripts by
caching them in compiled state, so that the overhead of compiling is almost
completely eliminated. Also it uses some optimizations to speed up execution
of PHP scripts. eAccelerator typically reduces server load and increases the
speed of your PHP code by 1-10 times.

eAccelerator is a fork of TurckMMCache


相 信很多朋友都知道MMCache,不过很久前开发者就被Zend招安了,因此MMCache一直没有官方的新版本...要支持最新的PHP4.3.10或 者PHP5.03都需要自己编译源码,对于普通用户来说无异于天方夜谭...别灰心,我们还有eAccelerator!

1.首先,我们下载编译好了的Module

http://www.arnot.info/eaccelerator/

选择下载对应您的系统和PHP版本的eAccelerator


2.将其重命名为 eaccelerator.dll (win版) 或者 eaccelerator.so (linux版) 然后移至您的 php 的 extention文件夹,其路径定义在您系统所用的的 php.ini 中


3.根据您系统的情况,一般有两种安装方式,一种按照Zend的扩展,一种是PHP扩展

如果是前者,请在您的 php.ini 中加入

zend_extension="/usr/lib/php4/eaccelerator.so" //路径根据您系统的情况而定,文件扩展名也是,Win系统下是dll
eaccelerator.shm_size="16"
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"

如果打开了安全模式,必须使用, "zend_extension_ts" i取代 "zend_extension".

PHP扩展安装模式,请在您的 php.ini 中加入

extension="eaccelerator.so" //路径根据您系统的情况而定,文件扩展名也是,Win系统下是dll
eaccelerator.shm_size="16"
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可以和Zend兼容,但是上面的代码在 php.ini 必须定义与 Zend 的相关代码之前,并且官方强烈建议,除非您必须使用Zend过的代码,否则最好不同时使用Zend和eAccelerator

完成上面的工作以后保存 php.ini , 然后重新启动 apache, 看看 phpinfo 是不是不一样了?然后看看 PHP 的执行时间是不是快了许多?




以下為在下在RHLE3+cPanel+Zend Accelerator 伺服器上裝eAccelerator的小小經驗來和大家獻醜...

首先我用windows到eAccelerator的官網去搜尋下載的連接, 然後從source forge上找到eaccelerator-0.9.2a.tar.gz的下載連接, 然後我透過伺服器的wget指令得取了之後解壓縮至 /root/eaccelerator/.

透過以下的指令, eAccelerator 很快的就把自己安裝完成

export PHP_PREFIX="/usr"

請將/usr的部分改為您的PHP的位置, 可以用 locate php-config 以及 locate phpize 來辨認這個位置. 譬如說, 我的伺服器給我以下的輸出

引用:
root@thoth [/]# locate php-config
/home/cpins/installd/buildapache/php-4.3.8/scripts/php-config.in
/home/cpins/installd/buildapache/php-4.3.8/scripts/php-config
/home/cpapachebuild/buildapache/php-4.3.9/scripts/php-config.in
/home/cpapachebuild/buildapache/php-4.3.9/scripts/php-config
/home/cpphpbuild/php-4.3.9/scripts/php-config.in
/home/cpphpbuild/php-4.3.9/scripts/php-config
/usr/bin/php-config
/usr/local/bin/php-config
/usr/local/cpanel/3rdparty/bin/php-config
root@thoth [/]# locate phpize
/home/cpins/installd/buildapache/php-4.3.8/scripts/phpize.m4
/home/cpins/installd/buildapache/php-4.3.8/scripts/phpize.in
/home/cpins/installd/buildapache/php-4.3.8/scripts/phpize
/home/fanta2/fantastico_files/phpWebSite/lib/pear/build/phpize.m4
/home/cpapachebuild/buildapache/php-4.3.9/scripts/phpize.m4
/home/cpapachebuild/buildapache/php-4.3.9/scripts/phpize.in
/home/cpapachebuild/buildapache/php-4.3.9/scripts/phpize
/home/cpphpbuild/php-4.3.9/scripts/phpize.m4
/home/cpphpbuild/php-4.3.9/scripts/phpize.in
/home/cpphpbuild/php-4.3.9/scripts/phpize
/usr/bin/phpize
/usr/lib/php/build/phpize.m4
/usr/lib/php/php/build/phpize.m4
/usr/local/bin/phpize
/usr/local/lib/php/build/phpize.m4
/usr/local/lib/php/php/build/phpize.m4
/usr/local/cpanel/3rdparty/bin/phpize
/usr/local/cpanel/3rdparty/lib/php/build/phpize.m4
/usr/local/cpanel/3rdparty/lib/php/php/build/phpize.m4


因為以上兩行, 我的PHP_PREFIX為/usr.

$PHP_PREFIX/bin/phpize
./configure \
--enable-eaccelerator=shared \
--with-php-config=$PHP_PREFIX/bin/php-config
make
make install

以上沒什麼特別的, eAccelerator 會自己建立安裝資訊然後安裝.

裝完之後, 您得取查看您的phpinfo() 來看看您的Configuration File (php.ini) Path在那裡. 在我的伺服器上, php.ini為/usr/local/Zend/etc/php.ini. 透過文書處理軟體 (vi, picco, 等等), 在[Zend]以下,
引用:
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2.5.7
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2.5.7

以上, 加入

引用:
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so
eaccelerator.shm_size=64
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


請將以上三行粗體字改為您的伺服器設定. 並且用 CHMOD 0777 給您的cache_dir資料夾以便eAccelerator 存取cache.  架好後透過whm從新啟動apache然後看看phpinfo 是否有關於eAccelerator 的資料然後看看php的執行時間是不是快了許多.
__________________
生活就象是强奸,如果无力反抗那就闭上眼睛好好享受.
工作就象是轮奸,你不行就赶紧让别人换上来.
社会就象是自慰,我们总要用自己的双手来解决自己的问题~!

此帖于 03-27-2005 11:20 被 chyangwa 编辑.
chyangwa离线中   回复时引用此帖
回复


主题工具
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭
论坛跳转



所有的时间均为北京时间。 现在的时间是 02:33.


NewvBB Core 1.1 Final - vBulletin v3.0.3
中文化与插件制作 NewVBB.com™ 2024。
友情连接        
摩托车.上海.中国        
         
         
         
         
         

上海市通信管理局
沪ICP备010502
沪ICP备05000578号