简述
XCache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如 PHP_5_1 PHP_5_2 PHP_5_3 PHP_5_4. 并完美支持线程安全/Windows. 与同类 opcode 缓存器相比更胜一筹。
Linux下扩展安装:
1,生成静态库
wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz tar zxvf xcache-3.2.0.tar.gz cd xcache-3.2.0 phpize ./configure --with-php-config=/usr/local/php/bin/php-config --enable-xcache make & make install
2,配置php.ini
#vi /usr/local/php/lib/php.ini #添加以下内容 [xcache-common] extension=xcache.so [xcache.admin] xcache.admin.enable_auth=On xcache.admin.user="(管理用户名)" xcache.admin.pass="(MD5格式化后的密码)" [xcache] xcache.shm_scheme="mmap" xcache.mmap_path="/tmp/xcache" xcache.readonly_protection=Off xcache.size=64M xcache.count=1 xcache.slots=8k xcache.ttl=3600 xcache.gc_interval=300 xcache.test=Off xcache.readonly_protection=On xcache.coredump_directory="" xcache.cacher=On xcache.stat=On xcache.optimizer=On xcache.var_size=4M xcache.var_count=1 xcache.var_slots=8k xcache.var_gc_interval=300 xcache.var_ttl=0 xcache.var_maxttl=0
[xcache.coverager] xcache.coverager=On xcache.coveragedump_directory=""
3,复制xcache自带管理工具到网站根目录
#复制到网站根目录下 cp -R ./htdocs /var/webroot/ #重命名 mv /var/webroot/htdocs /var/webroot/xcache_manager
4,重启fpm
ps -aux |grep fpm kill -USR2 xxx
phpinfo();看到Xcache即安装成功,你可以访问localhost/xcache_manager来管理查看xcache状态。
Windows下安装扩展:
1,->下载地址 找到合适的版本下载。
2,php_xcache.dll放到php的ext目录
3,将xcache.ini 或 xcache-zh-gb2312.ini 的内容添加到php.ini ,并修改下面配置
[xcache-common] ;; Windows 系统例子: extension = php_xcache.dll [xcache.admin] xcache.admin.enable_auth = On xcache.admin.user = "(登录用户名)" xcache.admin.pass = "md5($您的密码)"
4,将htdocs目录复制到网站根目录,可以改为xcache_manager方便识别。
重启apache,查看phpinfo()是否成功安装xcache扩展。
成功后可使用localhost/xcache_manager查看管理xcache使用状况。
xcache配置的中文说明
;; 本文件只是例子, 请在 php.ini 里设置以便生效
[xcache-common]
;; 非 windows 例子:
extension = xcache.so
;; Windows 系统例子:
; extension = php_xcache.dll
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "mOo"
; xcache.admin.pass = md5($您的密码)
; 登录使用 $your_password
xcache.admin.pass = ""
[xcache]
; 这里的多数选项仅在 ini 里可以修改, 这里列出的都是默认值, 除非另外说明
; 选择底层内存共享实现方案
xcache.shm_scheme = "mmap"
; 禁用: xcache.size=0
; 启用: xcache.size=64M 之类 (任意>0的值) 同时请注意您的系统 mmap 上限
xcache.size = 60M
; 建议设置为 cpu 数 (cat /proc/cpuinfo |grep -c processor)
xcache.count = 1
; 只是个 hash 参考值, 实际存储项目(php脚本/变量)可超过这个数字
xcache.slots = 8K
; 缓存项目的 ttl, 0=永久
xcache.ttl = 0
; 扫描过期项目的时间间隔, 0=不扫描, 其他值以秒为单位
xcache.gc_interval = 0
; 同上, 只是针对变量缓存设置
xcache.var_size = 4M
xcache.var_count = 1
xcache.var_slots = 8K
; xcache_*() 函数 ttl 参数的默认值
xcache.var_ttl = 0
; 限制 xcache_*() 函数 ttl 参数不超过此设置. 0=不限制
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
; /dev/zero 时无效
xcache.readonly_protection = Off
; 对于 *nix 系统, xcache.mmap_path 是文件路径而不是目录. (自动创建/覆盖)
; 如果您期望启用 ReadonlyProtection, 必须避免使用 "/dev/*", 可以使用类似 "/tmp/xcache"
; 不同 php 进程组不会共享同一个 /tmp/xcache
; 对于 Win32 系统, xcache.mmap_path=匿名MAP名字, 不是文件路径. 建议使用 XCache 字眼避免跟其他软件冲突
xcache.mmap_path = "/dev/zero"
; 仅在 XCache 异常时有用. 设置为空(禁用) 或者类似 "/tmp/phpcore/" (能被 php 写入文件)
xcache.coredump_directory = ""
; 仅用于 Windows. 除非 XCache 开发人员告诉你, 否则保持默认值
xcache.coredump_type = 0
; 异常时自动禁止缓存
xcache.disable_on_crash = Off
; 启用实验性功能 (如果有)
xcache.experimental = Off
; 以下是 Request 级可改设置. 可以 ini_set, .htaccess 等
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off
[xcache.coverager]
; 本功能开启后降低运行性能
; 仅在 xcache.coverager == On && xcache.coveragedump_directory == "非空值" 时本功能才会启用
; per request settings. 可以 ini_set, .htaccess 等
; 启用代码流程覆盖面信息采集以及 xcache_coverager_start/stop/get/clean() 等函数
xcache.coverager = Off
xcache.coverager_autostart = On
; 仅在 php ini 文件内设置
; 请确保本目录能被 coverage viewer 脚本读取 (注意 open_basedir)
xcache.coveragedump_directory = ""
常用函数
mixed xcache_get(string name) bool xcache_set(string name, mixed value [, int ttl]) bool xcache_isset(string name) bool xcache_unset(string name) bool xcache_unset_by_prefix(string prefix) int xcache_inc(string name [, int value [, int ttl]]) int xcache_dec(string name [, int value [, int ttl]]) #注意:xcache不能存放对象、资源等内容。