4月 202011
 

  eAccelerator 是一个开源并且免费的 PHP 加速器,优化器,编码器,同时也能够为 PHP提供动态内容缓存。它能够将 PHP 脚本缓存为已编译状态以达到提升 PHP 脚本运行性能的目的,因此传统的预编译几乎被消除。eAccelerator 也能够优化 PHP 脚本以提升 PHP脚本的执行速度。eAccelerator 可有效降低服务器负载并且提高 PHP 程序速度达 1-10 倍。TurckMMCache 是 eAccelerator 的前身。

      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 模式下,但它可以运行于像 lighttpd 类似的 Fast-CGI模式

     安装为 Zend 扩展:

  zend_extension=”/usr/lib/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.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″

  如果您使用 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.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配置信息详解(根据官方英文说明翻译)
  
  extension=”/data/webserver/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so”
  
  解释:PHP扩展eaccelerator.so的路径。
  
  ——————– 
  eaccelerator.shm_size=”32″
  解释:eaccelerator可使用的共享内存大小(单位为MB)。
  
  在Linux下,单个进程的最大内存使用量受/proc/sys/kernel/shmmax中设置的数字限制(单位为字节),例如CentOS 4.4的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。
  
  临时更改该值:
  # echo 字节数 > /proc/sys/kernel/shmmax
  
  按照以上方法更改,在每次重启系统时,该值会被自动还原。如果想永久更改,可以修改/etc/sysctl.conf文件,设置:
  kernel.shmmax = 字节数
  
  ——————–
  eaccelerator.cache_dir=”/data/cache/eaccelerator”
  解释:缓存路径,可以使用命令mkdir -p /data/cache/eaccelerator创建该目录,然后使用命令chmod 0777 /data/cache/eaccelerator设置该目录权限为0777
  
  ——————–
  eaccelerator.enable=”1″
  解释:打开或者关闭eaccelerator。”1″指打开,”0″指关闭。默认值为”1″。
 
  ——————–
  eaccelerator.optimizer=”1″
  解释:打开或者关闭代码优化,开启可以加快代码的执行速度。”1″指打开,”0″指关闭。默认值为”1″。
  
  ——————–
  eaccelerator.check_mtime=”1″
  解释:当打开此项时,eaccelerator会在每次请求时检查php文件的修改时间,看其是否被修改过,这会耗费一点时间,如果php文件被修改过,eaccelerator会重新编译缓存该php文件。当关闭此项时,如果php文件被修改,则需要手工删除eaccelerator缓存,才能显示被修改的php文件。”1″指打开,”0″指关闭。默认值为”1″。
  
  ——————–
  eaccelerator.debug=”0″
  解释:打开或者关闭调试记录。当打开时,eaccelerator会将对一个缓存文件的每次请求都写进log。打开此项只对调试eaccelerator是否有BUG时有益处。”1″指打开,”0″指关闭。默认值为”0″。
  
  ——————–
  eaccelerator.filter=””
  解释:决定哪些PHP文件应该被缓存。可以指定一个范围(比如”*.php *.phtml”),这样被指定的文件就会被缓存。如果该范围以!开头,被指定的文件就不会被缓存。默认值为””,表示缓存所有的PHP文件。
  
  ——————–
  eaccelerator.shm_max=”0″
  解释:一个用户使用例如eaccelerator_put之类的函数能够往共享内存中加载的最大数据。默认值为”0″,表示不限制。(单位为字节)
  
  ——————–
  eaccelerator.shm_ttl=”0″
  解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删除至少在shm_ttl秒之前没有被访问过的文件。默认值为”0″,表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)
  
  ——————–
  eaccelerator.shm_prune_period=”0″
  解释:当没有足够的空闲共享内存去尝试缓冲一个新本时,将删所有旧脚本,前提是这个尝试在超过shm_prune_period秒之前被执行过。默认值为”0″,表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)
  
  ——————–
  eaccelerator.shm_only=”0″
  解释:打开或者关闭在磁盘上缓存编译过的脚本。这个参数对会话数据和内容缓存没有效果。默认值为”0″,表示使用磁盘和共享内存来缓存。
  
  ——————–
  eaccelerator.compress=”1″
  解释:打开或者关闭缓存内容压缩。”1″指打开,”0″指关闭。默认值为”1″。
  
  ——————–
  eaccelerator.compress_level=”9″
  解释:内存压缩的级别。默认值为”9″,表示最大压缩。

 回复

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>