PHP开发中的缓存加速技术

除了从代码级别来提高PHP的运行速度,就要考虑采用缓存加速技术了。
到目前为止有一些可选的解决方案,包括eAccelerator,APC,Zend Platform for Performance Suite(付费),PHP Accelerator等。
这些都是属于缓存模块,他们会把第一次对.PHP 文件的请求产生的中间代码存储在Web服务器和内存中,然后对以后的请求返回“编译好”的版本。
这样减少了磁盘读写,而且都在内存中工作,因此使用eAccelerator或APC这些工具能够很明显地提高PHP引擎的解释速度及客户端页面的装载时间。
下面介绍在Linux和Windows系统中如何使用eAccelerator 和 APC工具来加速缓存。
eAccelerator
eAccelerator的官方网站为http://eaccelerator.net,它分为UNIX和Windows版本两种,你可以根据自己的环境下载安装。
下面介绍在Windows环境的安装和配置
在Windows环境下安装很简单,只需要到http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_build 上下载和系统匹配的PHP 版本扩展库,如下载eAccelerator095_i284_5.2.1.dll(匹配PHP5.2),把它放置在PHP的扩展目录中,如c:phpext。
然后在PHP.ini配置文件中加上下面的语句,如果已经安装了Zend Optimizer,那么下面句子一定要在[ZEND]标识符的前面。
[eAccelerator]
zend_extension_ts=eAccelerator095_5.2.0.dll
eaccelerator.shm_size="64"
eaccelerator.cache_dir="d:/tmp"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.debug="0"
eaccelerator.check_mtime="1"
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.keys="shm_and_disk"
eaccelerator.sessions="shm_and_disk"
eaccelerator.content="shm_and_disk"
重启Apache 2的服务即可。
下面介绍在Linux环境中的安装和配置
#tar zxvf eaccelerator-0.9.5.tar.bz2
#cd eaccelerator-0.9.5
指定PHP所在路径
#export PHP_PREFIX="/usr/lib/php"
#$PHP_PREFIX/bin/phpize
#./configure --enable-eaccelerator=shared --with-php-cofig=$PHP_PREFIX/bin/php-config
#make
#make install
这时,将eaccelerator安装到php目录中,屏幕会显示eaccelerator.so 所在路径,例如:
Installing shared extensions:
/usr/local/php/extensions/no-debug-zts-20060613
请记住这个路径,要在php.ini中加入该路径。
如果存在/etc/php.d目录中,需要复制eaccelerator.ini到该目录下,然后修改默认值。如果不存在,则修改php.ini ,在[ZEND]之前加入下面内容(注:必须放在[zend]段之前):
[eaccelerator]
extension="/usr/local/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 /tmp/cache/eaccelerator
#chmod 0777 /tmp/cache/eaccelerator
重启Apache服务器即可。
#service httpd restart 或apachectl -k restart
启动完成后,我们再查看phpinfo.php,就可以看到eAccelerator的信息了。
APC
APC的官方网站为:http://pecl.php.net/package/APC
安装和配置APC的步骤和方法如下:


  1. Windows的APC扩展模块也是从http://www.sitebuddy.com/PHP/Accelerators/apc_windows_binaries_builds上下载php_apc.dll文件,然后复制到PHP扩展目录中,如C:phpext。

  2. 编辑php.ini文件,将php_apc.dll装载到PHP系统中,如下
    extension=php_apc.dll

  3. 然后加入下面代码,用于APC的参数配置:
    apc.enable=1
    apc.shm_segments=1
    apc.shm_size=64
    apc.optimization=0
    apc.num_files_hint=1000
    apc.ttl=0
    apc.gc_ttl=3600
    apc.cache_by_default=On
    apc.slam_defense=0
    apc.file_update_protection=2
    apc.enable_cli=0
    apc.stat=0保存后重启Apache服务器即可。


注意:为了避免冲突,这两个缓存加速器不要同时启用。

Words translated by CCJK

146,096,379

We are Certified

Our Client Satisfaction

rating for previous quarte

4.00

Over 95% of our clients recommend our language services to others


Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.
TOP