除了从代码级别来提高PHP的运行速度,就要考虑采用缓存加速技术了。

到目前为止有一些可选的解决方案,包括eAccelerator,APC,Zend Platform for Performance Suite(付费),PHP Accelerator等。

这些都是属于缓存模块,他们会把第一次对.PHP 文件的请求产生的中间代码存储在Web服务器和内存中,然后对以后的请求返回“编译好”的版本。

这样减少了磁盘读写,而且都在内存中工作,因此使用eAccelerator或APC这些工具能够很明显地提高PHP引擎的解释速度及客户端页面的装载时间。

下面介绍在Linux和Windows系统中如何使用eAccelerator 和 APC工具来加速缓存。

eAccelerator

eAccelerator的官方网站为https://eaccelerator.net,它分为UNIX和Windows版本两种,你可以根据自己的环境下载安装。

下面介绍在Windows环境的安装和配置

在Windows环境下安装很简单,只需要到https://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的官方网站为:https://pecl.php.net/package/APC

安装和配置APC的步骤和方法如下:

1. Windows的APC扩展模块也是从https://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服务器即可。

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