简述
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..tar.gz
cd xcache-3.2.
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=
xcache.slots=8k
xcache.ttl=
xcache.gc_interval=
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=
xcache.var_slots=8k
xcache.var_gc_interval=
xcache.var_ttl=
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不能存放对象、资源等内容。