Blog

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服务器即可。
注意:为了避免冲突,这两个缓存加速器不要同时启用。

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


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