eAccelerator 是一个免费开源的 PHP 加速器,旨在提升 PHP 脚本的执行效率。它通过缓存编译后的 PHP 代码来优化性能,显著提高 PHP 脚本的响应速度,并减轻服务器的负载。使用 eAccelerator 可以将 PHP 代码的执行速度提升最多 10 倍。
软件特点
缓存 PHP 编译结果:eAccelerator 能够缓存 PHP 代码编译后的结果,当相同的代码再次被执行时,可以直接从内存中加载,从而大幅提升 PHP 运行的速度。
共享内存操作函数:用户可以将常用的非资源对象存储在内存中,并能够随时加载,这有助于提高应用程序的响应速度和性能。
PHP 扩展模块:eAccelerator 作为 PHP 的扩展模块,仅在 PHP 运行时操作和读写共享内存,通常只有操作共享内存的进程本身才能启用。
如何使用
eAccelerator 主要用于单机版 PHP 加速和缓存中间数据。在实用性高但数据操作量小的情况下,eAccelerator 十分有用。相比之下memcached 适用于分布式或集群系统,多台服务器可以共享数据,在实用性高且数据操作量大的情况下,memcached 十分有用。
安装步骤
首先您需要确保 PHP 已安装好。
然后下载并编译安装 eAccelerator。我们从官方网站下载的版本是 eaccelerator-0.9.5.2.tar.bz2。
# tar xvf eaccelerator-0.9.5.2.tar.bz2
# cd eaccelerator-0.9.5.2
# export PHP_PREFIX="/usr"
# $PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
# make
# make install
根据您的系统设置,可能需要调整 PHP 的安装路径。
安装完成后eaccelerator.so 模块位于 /usr/lib/php/extensions 目录中。如果您的系统与此不同,请相应地调整安装位置。
# echo "/usr/lib/php/extensions" > /etc/ld.so.conf
# ldconfig
接下来修改 php.ini 文件,并重新启动 Apache。
zend_extension="/usr/lib/php/extensions/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/home/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 /home/eaccelerator
# chmod 777 /home/eaccelerator
最后重新启动 Apache 服务器。如果没有出现错误,通常表示配置正确。
验证安装
打开命令提示符,进入 PHP 安装目录,运行 php -v
命令,并检查结果。
E:\php>php.exe -v
PHP 5.2.10 (cli) (built: Jun 17 2009 16:16:57)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
如果输出中包含 eAccelerator,则表示配置正确。
创建一个 PHP 文件,内容如下:
<?php
phpinfo();
?>
启动 PHP 并浏览该页面,检查 Zend Engine 部分的详细信息,如果与命令行输出的结果一致,则表示配置正确。