msgbartop
msgbarbottom

15 七 07 EA 0.95 for PHP5/PHP4

之前用过eAccelerator(以下简称EA),觉得优化的速度和效果都还算不错,尤其是Discuz!论坛的页面执行时间,多数情况下能够提高一个数量级,实属难能可贵,呵呵。不过在php主版本号步进到5以后,似乎很久没看到EA更新了,即使有貌似也不稳定。昨天在几个地方看到帖子,于是来记录一笔,以待有机会进行大负载测试,行得通的话就上Server使用,呵呵。
下载:
eAccelerator binaries for PHP 5.x (windows builds)
eAccelerator binaries for PHP 4.x (windows builds)
引用

Zend Optimizer 是Zend官方发布的免费PHP优化器,国内外大多数用户对这一产品的唯一评价是“Zend Loader”。这种说法是因为该产品所谓的优化只是提供了一个页面压缩输出功能,其最主要的目的是为Zend相继推出的PHP代码“混淆器”铺桥搭路,让混淆后的PHP代码可以在计算机上得到执行。如果您打算真正获得高效PHP缓存,建议您选择 eaccelerator 。

Zend的市场推广能力非常之强,这样致使国内外大多数人采用Zend混淆器加密PHP代码。如果想使用被Zend混淆器加密过的代码,那么你必须安装Zend Optimizer。这就引出了我们的主要问题,如何既可以获得执行Zend混淆器加密代码的能力,又可以获得 eaccelerator 的高效率优化。

值得庆幸的是 eaccelerator 提供了对Zend扩展界面的支持,它可以和Zend Optimizer和平相处。让您轻松达到 “既可以获得执行Zend混淆器加密代码的能力,又可以获得 eaccelerator 的高效率优化”的目的。

我习惯性以ZEND扩展的方式配置该模块,下面是我使用的配置(官方标配):

在PHP.INI文件段,eaccelerator的配置内容写在Zend Optimizer之前,并做如下配置:

[Zend]
zend_extension_ts="d:\xampp\xampp\php\ext\eAccelerator.dll"
;eAccelerator加速器路径部分PHP版本此处使用 zend_extension
eaccelerator.shm_size="16"
;eAccelerator使用的内存
eaccelerator.cache_dir="D:\xampp\xampp\tmp"
;eAccelerator缓冲目录,记得给web server可读写权限。
eaccelerator.enable="1"
;eAccelerator是否启用
eaccelerator.optimizer="1"
;eAccelerator优化功能
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"
zend_extension_ts = "d:\xampp\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "d:\xampp\xampp\php\zendOptimizer\lib\Optimizer"
;zend_optimizer.enable_loader = 1
;开启Zend Loader以解析Zend混淆器加密过的PHP代码。默认开启,此行配置只是起到说明作用。
zend_optimizer.optimization_level=1023
;禁止优化功能,避免冲突。
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =


引用

eAccelerator php.ini 设置

;extension="eaccelerator.so"
zend_extension="/usr/lib/php4/eaccelerator.so"
;zend_extension_ts="/usr/lib/php4/eaccelerator.so"
;extension="eaccelerator.dll"
;zend_extension_ts="c:\php4\eaccelerator.dll"
;zend_extension="c:\php4\eaccelerator.dll"
您必须取消一条注释 (而且同时只能是一条被取消) 以便使用下面的描述来装载 eAccelerator 的扩展.
eAccelerator 兼容于 Zend Optimizer's loader. Zend Optimizer 在 eAccelerator 的安装结束进行后必须在 php.ini 中配置. 如果您不使用用脚本来编码的 Zend Encoder ,那么我们不推荐您安装成 Zend Optimizer 加上 eAccelerator 这种模式.

eaccelerator.shm_size = "64"
eAccelerator 可以使用的共享内存的数量 (以兆为单位) . "0" 是指操作系统的默认值. 默认值是 "0".

eaccelerator.cache_dir = "/tmp/eaccelerator"
这个目录是给磁盘缓存使用. eAccelerator 在这里储存预先编译好的代码, 进程数据, 内容以及用户的自定义内容. 同样的数据也能被储存在共享内存中 (这样可以提高访问速度). 默认的设置是 "/tmp/eaccelerator".

eaccelerator.enable = "1"
打开或者关闭 eAccelerator. "1" 是指打开, "0" 是指关闭. 默认值是 "1".

eaccelerator.optimizer = "1"
打开或者关闭内置的 peephole optimizer,它可以提高代码的执行速度. "1" 是指打开, "0" 是指关闭. 默认值是 "1".

eaccelerator.debug = "0"
打开或者关闭调试记录. "1" 是指打开, "0" 是指关闭. 默认值是 "0".

eaccelerator.check_mtime = "1"
打开或者关闭 PHP 的文件修改检查. "1" 是指打开, "0" 是指关闭. 如果您在修改以后重新编译 PHP 的文件,那么您应当设置为 "1". 默认值是 "1".

eaccelerator.filter = ""
决定哪些 PHP 文件应该被缓存. 您可以指定一个范围 (比如 "*.php *.phtml"),这样被指定的文件就会被缓存或者被排出在外. 如果使用字符 "!" 来指定这个范围, 符合这个范围的文件就被排出在外. 默认值是 "" ,意思是说 - 所有的 PHP 脚本都会被缓存.

eaccelerator.shm_max = "0"
利用 "eaccelerator_put()" 这个功能选项来关闭在共享内存中加载大量数据. 它指出最大的被允许的大小,以字节为单位 (10240, 10K, 1M). 使用 "0" 来关闭这个限制. 默认值是 "0".

eaccelerator.shm_ttl = "0"
当 eAccelerator 尝试从共享内存中获得数据来创建新的脚本缓存但失败以后,它从共享内存中删除所有的至少在 "shm_ttl" 秒以前没有被访问的脚本。默认值是 "0" ,意思是说 - 不要从共享内存中删除任何文件.

eaccelerator.shm_prune_period = "0"
当 eAccelerator 尝试从共享内存中获得数据来创建新的脚本缓存但失败以后,它尝试删除旧的脚本,前提是在这之前的这个尝试在超过 "shm_prune_period" 秒之前被执行. 默认值是 "0" ,意思是说 - 不要尝试从共享内存中删除任何文件.

eaccelerator.shm_only = "0"
打开或者关闭在磁盘上缓存编译过的脚本. 这个参数对会话数据和内容缓存没有效果. 默认值是 "0" ,意思是说 - 使用磁盘和共享内存来缓存。

eaccelerator.compress = "1"
打开或者关闭缓存后的内容压缩. 默认值是 "1" ,意思是说打开压缩.

eaccelerator.compress_level = "9"
内容缓存后被压缩的程度. 默认值是 "9" ,意思是说使用最大程度的压缩率。

eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.c
决定哪些 keys, 会话数据和内容被缓存. 可能的值是:
"shm_and_disk", 在共享内存中和磁盘上缓存数据 (默认值)
"shm", 在共享内存中或者磁盘上缓存数据,如果共享内存被使用的尺寸已经超过 "eaccelerator.shm_max" 所定义的范围。
"shm_only", 在共享内存中缓存数据
"disk_only", 在磁盘上缓存数据
"none", 不缓存任何数据

eaccelerator.admin.name="yourusername"
eaccelerator.admin.password="yourpassword"
您可以使用 eaccelerator.php 通过网页的页面来管理 eAccelerator. 您应该把这个文件放在您的网站上. 为了安全,推荐您不要通过您本地的IP地址来访问这个脚本。

创建 eAccelerator 的密码

php -q eaccelerator_password.php
改变网页页面方式访问 (eaccelerator.php)这个文件的访问密码

Enter admin name: admin
New admin password: eaccelerator
Retype new admin password: eaccelerator

Tags - , , , , ,

15 七 07 EA 0.95 for PHP5/PHP4

之前用过eAccelerator(以下简称EA),觉得优化的速度和效果都还算不错,尤其是Discuz!论坛的页面执行时间,多数情况下能够提高一个数量级,实属难能可贵,呵呵。不过在php主版本号步进到5以后,似乎很久没看到EA更新了,即使有貌似也不稳定。昨天在几个地方看到帖子,于是来记录一笔,以待有机会进行大负载测试,行得通的话就上Server使用,呵呵。
下载:
eAccelerator binaries for PHP 5.x (windows builds)
eAccelerator binaries for PHP 4.x (windows builds)
引用

Zend Optimizer 是Zend官方发布的免费PHP优化器,国内外大多数用户对这一产品的唯一评价是“Zend Loader”。这种说法是因为该产品所谓的优化只是提供了一个页面压缩输出功能,其最主要的目的是为Zend相继推出的PHP代码“混淆器”铺桥搭路,让混淆后的PHP代码可以在计算机上得到执行。如果您打算真正获得高效PHP缓存,建议您选择 eaccelerator 。

Zend的市场推广能力非常之强,这样致使国内外大多数人采用Zend混淆器加密PHP代码。如果想使用被Zend混淆器加密过的代码,那么你必须安装Zend Optimizer。这就引出了我们的主要问题,如何既可以获得执行Zend混淆器加密代码的能力,又可以获得 eaccelerator 的高效率优化。

值得庆幸的是 eaccelerator 提供了对Zend扩展界面的支持,它可以和Zend Optimizer和平相处。让您轻松达到 “既可以获得执行Zend混淆器加密代码的能力,又可以获得 eaccelerator 的高效率优化”的目的。

我习惯性以ZEND扩展的方式配置该模块,下面是我使用的配置(官方标配):

在PHP.INI文件段,eaccelerator的配置内容写在Zend Optimizer之前,并做如下配置:

[Zend]
zend_extension_ts="d:\xampp\xampp\php\ext\eAccelerator.dll"
;eAccelerator加速器路径部分PHP版本此处使用 zend_extension
eaccelerator.shm_size="16"
;eAccelerator使用的内存
eaccelerator.cache_dir="D:\xampp\xampp\tmp"
;eAccelerator缓冲目录,记得给web server可读写权限。
eaccelerator.enable="1"
;eAccelerator是否启用
eaccelerator.optimizer="1"
;eAccelerator优化功能
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"
zend_extension_ts = "d:\xampp\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "d:\xampp\xampp\php\zendOptimizer\lib\Optimizer"
;zend_optimizer.enable_loader = 1
;开启Zend Loader以解析Zend混淆器加密过的PHP代码。默认开启,此行配置只是起到说明作用。
zend_optimizer.optimization_level=1023
;禁止优化功能,避免冲突。
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =


引用

eAccelerator php.ini 设置

;extension="eaccelerator.so"
zend_extension="/usr/lib/php4/eaccelerator.so"
;zend_extension_ts="/usr/lib/php4/eaccelerator.so"
;extension="eaccelerator.dll"
;zend_extension_ts="c:\php4\eaccelerator.dll"
;zend_extension="c:\php4\eaccelerator.dll"
您必须取消一条注释 (而且同时只能是一条被取消) 以便使用下面的描述来装载 eAccelerator 的扩展.
eAccelerator 兼容于 Zend Optimizer's loader. Zend Optimizer 在 eAccelerator 的安装结束进行后必须在 php.ini 中配置. 如果您不使用用脚本来编码的 Zend Encoder ,那么我们不推荐您安装成 Zend Optimizer 加上 eAccelerator 这种模式.

eaccelerator.shm_size = "64"
eAccelerator 可以使用的共享内存的数量 (以兆为单位) . "0" 是指操作系统的默认值. 默认值是 "0".

eaccelerator.cache_dir = "/tmp/eaccelerator"
这个目录是给磁盘缓存使用. eAccelerator 在这里储存预先编译好的代码, 进程数据, 内容以及用户的自定义内容. 同样的数据也能被储存在共享内存中 (这样可以提高访问速度). 默认的设置是 "/tmp/eaccelerator".

eaccelerator.enable = "1"
打开或者关闭 eAccelerator. "1" 是指打开, "0" 是指关闭. 默认值是 "1".

eaccelerator.optimizer = "1"
打开或者关闭内置的 peephole optimizer,它可以提高代码的执行速度. "1" 是指打开, "0" 是指关闭. 默认值是 "1".

eaccelerator.debug = "0"
打开或者关闭调试记录. "1" 是指打开, "0" 是指关闭. 默认值是 "0".

eaccelerator.check_mtime = "1"
打开或者关闭 PHP 的文件修改检查. "1" 是指打开, "0" 是指关闭. 如果您在修改以后重新编译 PHP 的文件,那么您应当设置为 "1". 默认值是 "1".

eaccelerator.filter = ""
决定哪些 PHP 文件应该被缓存. 您可以指定一个范围 (比如 "*.php *.phtml"),这样被指定的文件就会被缓存或者被排出在外. 如果使用字符 "!" 来指定这个范围, 符合这个范围的文件就被排出在外. 默认值是 "" ,意思是说 - 所有的 PHP 脚本都会被缓存.

eaccelerator.shm_max = "0"
利用 "eaccelerator_put()" 这个功能选项来关闭在共享内存中加载大量数据. 它指出最大的被允许的大小,以字节为单位 (10240, 10K, 1M). 使用 "0" 来关闭这个限制. 默认值是 "0".

eaccelerator.shm_ttl = "0"
当 eAccelerator 尝试从共享内存中获得数据来创建新的脚本缓存但失败以后,它从共享内存中删除所有的至少在 "shm_ttl" 秒以前没有被访问的脚本。默认值是 "0" ,意思是说 - 不要从共享内存中删除任何文件.

eaccelerator.shm_prune_period = "0"
当 eAccelerator 尝试从共享内存中获得数据来创建新的脚本缓存但失败以后,它尝试删除旧的脚本,前提是在这之前的这个尝试在超过 "shm_prune_period" 秒之前被执行. 默认值是 "0" ,意思是说 - 不要尝试从共享内存中删除任何文件.

eaccelerator.shm_only = "0"
打开或者关闭在磁盘上缓存编译过的脚本. 这个参数对会话数据和内容缓存没有效果. 默认值是 "0" ,意思是说 - 使用磁盘和共享内存来缓存。

eaccelerator.compress = "1"
打开或者关闭缓存后的内容压缩. 默认值是 "1" ,意思是说打开压缩.

eaccelerator.compress_level = "9"
内容缓存后被压缩的程度. 默认值是 "9" ,意思是说使用最大程度的压缩率。

eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.c
决定哪些 keys, 会话数据和内容被缓存. 可能的值是:
"shm_and_disk", 在共享内存中和磁盘上缓存数据 (默认值)
"shm", 在共享内存中或者磁盘上缓存数据,如果共享内存被使用的尺寸已经超过 "eaccelerator.shm_max" 所定义的范围。
"shm_only", 在共享内存中缓存数据
"disk_only", 在磁盘上缓存数据
"none", 不缓存任何数据

eaccelerator.admin.name="yourusername"
eaccelerator.admin.password="yourpassword"
您可以使用 eaccelerator.php 通过网页的页面来管理 eAccelerator. 您应该把这个文件放在您的网站上. 为了安全,推荐您不要通过您本地的IP地址来访问这个脚本。

创建 eAccelerator 的密码

php -q eaccelerator_password.php
改变网页页面方式访问 (eaccelerator.php)这个文件的访问密码

Enter admin name: admin
New admin password: eaccelerator
Retype new admin password: eaccelerator

Tags - , , , , ,