前面说了启用Gzip 压缩减少带宽消耗以加速网站
,今天说Windows2003
服务器安装及设置教程——IIS
优化第二篇:使用eAccelerator提高
PHP执行效率
。
先说一下eAccelerator是什么
,它是一个自由开放源码php加速器,
优化和动态内容缓存,提高了性能php脚本的缓存性能,使得
PHP脚本在编译的状态下,对
服务器的开销几乎完全消除
。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍,他的官方网站地址是http://eaccelerator.net。
下面就说说启用eAccelerator的具体步骤:
确定已安装的PHP版本,如果忘记了安装的版本,可以使用phpinfo函数获得;
下载该PHP版本对应的eAccelerator,这里聚友提供一个支持PHP版本5.2.0到5.2.8的压缩包,点击此处下载eAccelerator,如果您安装的PHP版本不在该范围内,请到官方网站下载。
下载回去后选择PHP相对应的eAccelerator版本,解压到php的extension目录;
打开windows安装目录下的PHP配置文件php.ini,根据如下所示在[Zend]之前添加eAccelerator配置信息;
[eAccelerator]
zend_extension_ts="D:\PHP\ext\eAccelerator0953_5.2.8.dll"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="D:\PHP\temp"
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.keys = "shm"
eaccelerator.sessions = "shm"
保存php.ini;
再次检查eAccelerator的相关配置:zend_extension_ts是eAccelerator的文件路径,检查该文件是否存在;eaccelerator.shm_size是eAccelerator使用的内存大小,根据需求及服务器配置修改,单位是M;eaccelerator.cache_dir是eAccelerator的缓存文件夹,要保证该目录的NTFS权限有Users组可读和可写入;eaccelerator.enable是是否启用eAccelerator,1为是,0为否;eaccelerator.optimizer是是否启用eAccelerator优化,1为是,0为否。
使eAccelerator与Zend Optimizer 和平相处,在php.ini最底部添加如下代码:
zend_optimizer.optimization_level=0
通过这行代码,达到不冲突的目的
再次保存php.ini,重启IIS
至此,Windows2003服务器安装及设置教程——IIS优化第二篇:使用eAccelerator提高PHP执行效率完成。
eAccelerator参数详解
下面说说eAccelerator的那些参数的具体意思:
eaccelerator.shm_size
指定 eAccelerator 能够使用的共享内存数量,单位:MB。
"0" 代表操作系统默认。默认值为 "0"。
eaccelerator.cache_dir
用户磁盘缓存的目录。eAccelerator 在该目录中存储预编译代码、session 数据、内容等。相同的数据也可以存储于共享内存中(以获得更快的存取速度)。默认值为 "/tmp/eaccelerator"。
eaccelerator.enable
开启或关闭 eAccelerator。"1" 为开启,"0" 为关闭。默认值为 "1"。
eaccelerator.optimizer
开启或关闭内部优化器,可以提升代码执行速度。"1" 为开启,"0" 为关闭。默认值为 "1"。
eaccelerator.debug
开启或关闭调试日志记录。"1" 为开启,"0" 为关闭。默认值为 "0"。
eaccelerator.check_mtime
开启或关闭 PHP 文件改动检查。"1" 为开启,"0" 为关闭。如果您想要在修改后重新编译 PHP程序则需要设置为 "1"。默认值为 "1"。
eaccelerator.filter
判断哪些 PHP 文件必须缓存。您可以指定缓存和不缓存的文件类型(如 "*.php *.phtml"等),如果参数以 "!" 开头,则匹配这些参数的文件被忽略缓存。默认值为 "",即,所有 PHP 文件都将被缓存。
eaccelerator.shm_max
当使用 " eaccelerator_put() " 函数时禁止其向共享内存中存储过大的文件。该参数指定允许存储的最大值,单位:字节 (10240, 10K, 1M)。"0" 为不限制。默认值为 "0"。
eaccelerator.shm_ttl
当 eAccelerator 获取新脚本的共享内存大小失败时,它将从共享内存中删除所有在最后 "shm_ttl" 秒内无法存取的脚本缓存。默认值为 "0",即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_prune_period
当 eAccelerator 获取新脚本的共享内存大小失败时,他将试图从共享内存中删除早于"shm_prune_period" 秒的缓存脚本。默认值为 "0",即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_only
允许或禁止将已编译脚本缓存在磁盘上。该选项对 session 数据和内容缓存无效。默认值为 "0",即:使用磁盘和共享内存进行缓存。
eaccelerator.compress
允许或禁止压缩内容缓存。默认值为 "1",即:允许压缩。
eaccelerator.compress_level
指定内容缓存的压缩等级。默认值为 "9",为最高等级。