opcache php 原理_php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析...

本文实例讲述了php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法。分享给大家供大家参考,具体如下:

一、opcache

opcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。

PHP 5.5.0 及后续版本中已经绑定了 opcache 扩展。 对于 PHP 5.2,5.3 和 5.4 版本可以使用PECL扩展中的 opcache 库。

windows下的php扩展下载地址:

http://windows.php.net/downloads/pecl/releases/

打开php.ini文件,找到[opcache]

; dll地址

extension=php_opcache.dll

; 开关打开

opcache.enable=1

; 开启CLI

opcache.enable_cli=1

; 可用内存, 酌情而定, 单位为:Mb

opcache.memory_consumption=128

; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB)

opcache.interned_strings_buffer=8

; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值

opcache.max_accelerated_files=10000

; opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, (单位:秒)

opcache.revalidate_freq=1

; 打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高

opcache.fast_shutdown=1

二、APC

Alternative PHP Cache (APC) 是一个开放自由的PHP opcode 缓存。它的目标是提供一个自由、 开放,和健全的框架用于缓存和优化PHP的中间代码。

下载apc扩展dll,选择你对应的PHP版本

http://windows.php.net/downloads/pecl/releases/apc/

把下载的php_apc.dll放入php的ext扩展目录下。

打开php.ini文件,配置如下:

[apc]

extension=php_apc.dll

apc.enabled=1

; 共享内存块的数目

apc.shm_segments=1

; 共享内存块的大小(单位:MB)

apc.shm_size=64

; 优化级别,更高的值则使用更主动的优化

apc.optimization=1

; 源文件的数目,不确定设置为0

apc.num_files_hint=0

; 缓存条目在缓冲区中允许逗留的秒数

apc.ttl=7200

; 针对每个用户缓存条目在缓冲区中允许逗留的秒数

apc.user_ttl=7200

; 缓存条目在垃圾回收表中能够存在的秒数

apc.gc_ttl=7200

; 文件写锁

apc.write_lock=on

三、xcache

xcache是一个开源的 opcode 缓存器/优化器。

下载xcache,选择对应PHP版本的xcache

http://xcache.lighttpd.net/pub/Releases/

把php_xcache.dll放到php的ext目录下。

打开php.ini,配置如下:

[xcache-common]

extension = php_xcache.dll

[xcache.admin]

xcache.admin.enable_auth = On

xcache.admin.user = "admin"

xcache.admin.pass = "md5后你的密码"

[xcache]

; 选择底层内存共享实现方案

xcache.shm_scheme = "mmap"

xcache.size = 128M

; 设置为CPU数

xcache.count = 1

; 只是个参考值

xcache.slots = 8K

; 缓存时间

xcache.ttl = 1200

; 垃圾回收的时间间隔

xcache.gc_interval = 1200

; 同上,针对变量缓存设置

xcache.var_size = 4M

xcache.var_count = 1

xcache.var_slots = 8K

xcache.var_ttl = 1200

; 变量最大缓存时间

xcache.var_maxttl = 7200

xcache.var_gc_interval = 1200

xcache.var_namespace_mode = 0

xcache.var_namespace = ""

xcache.readonly_protection = Off

; 对于win系统,这里不是文件路径

xcache.mmap_path = "xcache"

xcache.coredump_directory = ""

xcache.coredump_type = 0

xcache.disable_on_crash = Off

xcache.experimental = Off

xcache.cacher = On

xcache.stat = On

xcache.optimizer = Off

[xcache.coverager]

xcache.coverager = Off

xcache.coverager_autostart = On

xcache.coveragedump_directory = ""

四、eAccelerator

eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。

下载eAccelerator

http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds

把下载到的eAccelerator_ts.dll放到php的ext目录下。

打开php.ini,配置如下:

[eAccelerator]

extension="eAccelerator_ts.dll"

eaccelerator.shm_size="16"

eaccelerator.cache_dir="设置缓存目录"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.debug="0"

eaccelerator.log_file = "设置日志文件"

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"

希望本文所述对大家PHP程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值