关闭

用eAccelerator(前身Truck MMCache)加速PHP (转)

953人阅读 评论(0) 收藏 举报
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的執行時間是不是快了許多.
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:287268次
    • 积分:3470
    • 等级:
    • 排名:第9596名
    • 原创:52篇
    • 转载:84篇
    • 译文:0篇
    • 评论:38条
    最新评论