eAccelerator是一个为PHP程序加速的免费开源软件其极速效果绝不输给ZendPerformance Suite。并且支持Linux,FreeBSD,Solaris,MacOS X,Windows等系统。eAccelerator for PHP
什么是eAccelerator eAccelerator是一个开源并且免费的PHP加速器优化器编码器 同时也能够为PHP提供动态内容缓存。它能够将PHP脚本缓存为已编译状态以达到提升PHP脚本运行性能
的目的因此传统的预编译几乎被消除。 eAccelerator也能够优化PHP脚本以提升PHP脚本的执行速度。 eAccelerator可有效降低服务器负载并且提高PHP程序速度达1-10倍。
TurckMMCache是eAccelerator的前身。
(http://sourceforge.net/project/turckmm-cache/ by Dmitry Stogov)eAccelerator包含一个PHP编码器和加载器。您可以使用编码器对.php脚本进行编码从而能够以非源代码方式发布您的PHP程序。经过编码的PHP程序可以运行在任何安装有
PHP解析环境和eAccelerator的站点上 由于编码后的PHP程序存储为已编译代码并且
已编译版本中不包含程序的源代码因此经过eAccelerator编码的PHP程序是不能被还原
恢复的。当然一些内部脚本可以被某些不同的反编译引擎工具如disassemblers,debuggers等
进行还原恢复但这并非是微不足道的。eAccelerator与Zend Optimizer加载器兼容。在php. ini中 Zend Optimizer必须在eAccelerator之后加载。如果您的站点不运行任何经由Zend编码器编码的PHP脚本那么
我们并不推荐您在安装eAccelerator的服务器上安装Zend Optimizer。eAccelerator不能运行于CGI模式下但它可以运行于像l ighttpd类似的Fast-CGI模式。
以下是一些与eAccelerator具有相同功能的产品
-Zend Performance Suite(http://www.zend.com)
-Alternative PHP Cache(http://pecl .php.net/package/APC)
下载
最新版的eAccelerator可以在Sourceforge下载http://sourceforge.net/projects/eaccelerator/
CVS开发版本快照(snapshots)可以在以下地址下载http://snapshots,eaccelerator.net
所需环境
Apache 1 .3或更高版本mod_php 4.1或更高版本autoconfautomakel ibtoolm4
兼容性
经过用户的使用和报告 eAccelerator能够运行在PHP4和PHP5。 PHP5.1 目前尚不能完整的
支持。eAccelerator能够与Apache 1 .3/2.0、 l ighttpd、和I IS在Linux、FreeBSD、MacOS
X、 Solaris和
Windows上运行。
快速安装
您可以在eAccelerator站点获取更多有关安装方面的信息。http://eaccelerator.sourceforge.net/
注意(1)有关Microsoft Windows平台的安装信息请阅读README.win32 fi le。
步骤1 .编译eAcceleratorcd/usr/local/srcwget http://internap.dl .sourceforge.n . . . rator-0.9.4.tar.bz2tar xjvf eaccelerator-0.9.4.tar.bz2cd eaccelerator-0.9.4.tar.bz2export PHP_PREFIX="/usr/local/php"
$PHP_PREFIX/bin/phpize
./configure\
--enable-eaccelerator=shared\
--with-php-config=$PHP_PREFIX/bin/php-configmake
您必须在export命令中指定PHP真实的安装目录位置。该目录位置可能是"/usr""/usr/local"或
其他位置。
步骤2.安装eAcceleratormake instal l
步骤3.配置eAcceleratoreAccelerator可以安装为Zend扩展或者PHP扩展。
对于eAccelerator 0.9.1及其以上版本如果您系统中存在/etc/php.d 目录则需要将eaccelerator. ini
文件复制到该目录中并且根据需要修改其中的默认设置和数值。
如果系统中不存在/etc/php.d 目录则编辑php. ini文件通常位于/etc/php. ini 。安装为Ze n d扩展
zend_extension="/usr/l ib/php4/eaccelerator.so"eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"eaccelerator.enable="1"eaccelerator.optimizer="1"eaccelerator.check_mtime="1"
eaccelerator.debug="0"eaccelerator.fi lter=""eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"eaccelerator.shm_prune_period="0"eaccelerator.shm_only="0"eaccelerator.compress="1"eaccelerator.compress_level="9"
如果您使用thread safe编译安装PHP则您必须使用"zend_extension_ts"代替"zend_extension"。
安装为PHP扩展extension="eaccelerator.so"eaccelerator.shm_size="16"eaccelerator.cache_dir="/tmp/eaccelerator"eaccelerator.enable="1"eaccelerator.optimizer="1"eaccelerator.check_mtime="1"eaccelerator.debug="0"eaccelerator.fi lter=""eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"eaccelerator.shm_prune_period="0"eaccelerator.shm_only="0"eaccelerator.compress="1"eaccelerator.compress_level="9"
步骤4.创建缓存目录
mkdir /tmp/eacceleratorchomd 0777/tmp/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"为关闭。默认值为"eaccelerator.debug
开启或关闭调试日志记录。 "1"为开启 "0"为关闭。默认值为"0"。eaccelerator.check_mtime
开启或关闭PHP文件改动检查。 "1"为开启 "0"为关闭。如果您想要在修改后重新编译PHP
程序则需要设置为"1"。默认值为"1"。eaccelerator.fi lter
判断哪些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"为最高等级。eaccelerator.name_sapce
一个所有键(keys)的前缀字符串。如果设置该前缀字符串则允许.htaccess或者主配置
文件在相同主机上运行两个相同的键名。eaccelerator.keyseaccelerator.sessionseaccelerator.content
判断哪些键(keys)、 session数据和内容将被缓存。可用参数值为
"shm_and_disk" -同时在共享内存和磁盘中缓存数据默认值
"shm" -如果共享内存用尽或者数据容量大于"eaccelerator.shm_max"
则在共享内存或磁盘中缓存数据
"shm_only" -仅在共享内存中缓存数据
"disk_only" -仅在磁盘中缓存数据
"none" -禁止缓存数据。eAccelerator应用程序接口(API)eaccelerator_put($key,$value,$ttl=0)
将$value存储在共享内存中并存储$tl l秒。eaccelerator_get($key)
从共享内存中返回eaccelerator_put()函数所存储的缓存数值如果不存在或者已经过期则返回nul l。eaccelerator_rm($key)
从共享内存中删除$key。eaccelerator_gc()
删除所有过期的键(keys)eaccelerator_lock($lock)
创建一个指定名称的锁(lock)。该锁可以通过eaccelerator_unlock()函数解除在请求
结束时也会自动解锁。例如
<?phpeaccelerator_lock("count");eaccelerator_put("count",eaccelerator_get("count")+1));
?>eaccelerator_unlock($lock)
解除指定名称的锁(lock)。eaccelerator_set_session_handlers()
安装eAccelerator session句柄。
从PHP4.2.0以后您可以通过设置php. ini中的
"session.save_handler=eaacelerator"
安装eAccelerator句柄。
eaccelerator_cache_output($key,$eval_code,$ttl=0)
在共享内存中缓存$eval_code的输出缓存$ttl秒。
可以调用mmcach_rm()函数删除相同$key的输出。例如
<?php eaccelerator_cache_output('test' , 'echo time(); phpinfo();' ,30);?>eaccelerator_cache_result($key,$eval_code,$ttl=0)
在共享内存中缓存$eval_code的结果缓存$ttl秒。
可以调用mmcach_rm()函数删除相同$key的结果。例如
<?php eaccelerator_cache_output('test' , 'time()."Hel lo"; ' ,30);?>eaccelerator_cache_page($key,$ttl=0)
缓存?
六一云互联六一云互联为西安六一网络科技有限公司的旗下产品。是一个正规持有IDC/ISP/CDN的国内公司,成立于2018年,主要销售海外高防高速大带宽云服务器/CDN,并以高质量.稳定性.售后相应快.支持退款等特点受很多用户的支持!近期公司也推出了很多给力的抽奖和折扣活动如:新用户免费抽奖,最大可获得500元,湖北新购六折续费八折折上折,全场八折等等最新活动:1.湖北100G高防:新购六折续费八折...
搬瓦工怎么样?这几天收到搬瓦工发来的邮件,告知香港pccw机房(HKHK_1)即将关闭,这也不算是什么出乎意料的事情,反而他不关闭我倒觉得奇怪。因为目前搬瓦工香港cn2 GIA 机房和香港pccw机房价格、配置都一样,可以互相迁移,但是不管是速度还是延迟还是丢包率,搬瓦工香港PCCW机房都比不上香港cn2 gia 机房,所以不知道香港 PCCW 机房存在还有什么意义?关闭也是理所当然的事情。点击进...
tmhhost可谓是相当熟悉国内网络情况(资质方面:ISP\ICP\工商齐备),专业售卖海外高端优质线路的云服务器和独立服务器,包括了:香港的三网cn2 gia、日本 cn2、日本软银云服务器、韩国CN2、美国三网cn2 gia 云服务器、美国 cn2 gia +200G高防的。另外还有国内云服务器:镇江BGP 大连BGP数据盘和系统盘分开,自带windows系统,支持支付宝付款和微信,简直就是专...