Cache 的 INI 配置
终于到了解释 xcache.ini 的时候了, 不管你有没有PHP INI 基础知识.
载入 XCache 模块
;; 安装成 zend extension (推荐), 路径一般是 "$extension_dir/xcache.so" zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so ;; Windows 系统例子: zend_extension_ts = c:/php/extensions/php_xcache.dll ;; 或者您也可把 XCache 安装成 extension, 注意确保您的 extension_dir 设置正确, 并 把 xcache.so 或者 php_xcache.dll 放到该目录里面 ; extension = xcache.so ;; 或者 Win32 系统: ; extension = php_xcache.dll
XCache Administration
Name | Default | Changeable |
xcache.admin.user | "mOo" | PHP_INI_SYSTEM |
xcache.admin.pass | "" | PHP_INI_SYSTEM |
xcache.admin.enable_auth | "on" | PHP_INI_SYSTEM |
xcache.test | Off | PHP_INI_SYSTEM |
xcache.coredump_directory | "" | PHP_INI_SYSTEM |
-
xcache.admin.user
string
- 验证名. xcache.admin.pass string
- md5 后的验证密码, 亦即 md5(您的密码), 留空则禁用管理页面. xcache.test string
- 仅在测试一些功能的时候才启用. 如果您不知道这个功能的作用, 则您不需要知道. xcache.coredump_directory string
- 设置在 crash (SIGSEGV/SIGABRT) 时保存 core dump 文件的路径. 留空则禁止, 或者设置为类似 "/tmp/phpcore/" 的目录. 确保这个路径可以被 php 写入文件. (与 open_basedir 无关). xcache.admin.enable_auth string
- 如果你打算自己处理验证, 用这个选项禁止 HTTP 验证功能. 值得注意的是任意 vhost 用户都可以安装一个 XCache admin 页面, 如果禁止了内建 HTTP 验证, 则他们亦不需要权限即可访问管理页面. 出于安全考虑, 您应该尽量考虑保留 XCache 内建验证功能, 针对 XCache admin 页面特定地址取消网页服务器的 mod_auth 这个选项仅在 1.2.x 系列有作用, 起始版本 1.2.1
XCache Cacher
Name | Default | Changeable |
xcache.cacher | On | PHP_INI_SYSTEM |
xcache.size | 0 | PHP_INI_ALL |
xcache.count | 1 | PHP_INI_SYSTEM |
xcache.slots | 8K | PHP_INI_SYSTEM |
xcache.ttl | 0 | PHP_INI_SYSTEM |
xcache.gc_interval | 0 | PHP_INI_SYSTEM |
xcache.var_size | 0 | PHP_INI_SYSTEM |
xcache.var_count | 1 | PHP_INI_SYSTEM |
xcache.var_slots | 8K | PHP_INI_SYSTEM |
xcache.var_ttl | 0 | PHP_INI_ALL |
xcache.var_maxttl | 0 | PHP_INI_SYSTEM |
xcache.var_gc_interval | 300 | PHP_INI_SYSTEM |
xcache.readonly_protection | Off | PHP_INI_SYSTEM |
xcache.mmap_path | "/dev/zero" | PHP_INI_SYSTEM |
-
xcache.cacher
boolean
- 使用/不使用 opcode 缓存器. xcache.size = 0 时无效. xcache.size int
- 0 禁止, 非 0 则启用缓存器. 请注意您系统所允许的 mmap 最大值. xcache.count int
- 指定将 cache 切分成多少块. 参考 SplittedCache xcache.slots size
- 只是作为 hash 槽个数的参考值, 您可以放心地缓冲超过这个个数的项目. xcache.ttl seconds
- 设置缓冲项目的 Ttl (Time To Live) 值, 0=永不过期. xcache.gc_interval seconds
- 检查过期项目, 回收内存空间的间隔. xcache.var_size int
-
xcache.var_count
int
-
xcache.var_slots
size
-
xcache.var_gc_interval
seconds
- 同上, 不过用于数据缓冲而不是 opcode 缓冲. xcache.var_ttl seconds
- xcache_(get|set|inc|dec) 等的默认 ttl 值. xcache.var_maxttl seconds
- 最大 ttl 值, 程序无法指定超过这个最大值的 ttl. xcache.readonly_protection boolean
- 如果启用了 ReadonlyProtection, 将会略微降低性能, 但是会提高一定的安全系数. 这个选项对于 xcache.mmap_path = /dev/zero 无效. xcache.mmap_path string
- 对于 *nix, xcache.mmap_path 是 文件路径, 不是目录. 对于 Win32, xcache.mmap_path 只是匿名的 map 名, 不是实际的文件路径. 如果您要启用 ReadonlyProtection 请用类似 "/tmp/xcache" 的路径. 2 组 php 不该共用同一个路径 (/dev/zero 除外).
XCache Optimizer
Name | Default | Changeable |
xcache.optimizer | Off | PHP_INI_ALL |
-
xcache.optimizer
boolean
- 启用优化器 (目前无效).
XCache Coverager
Name | Default | Changeable |
xcache.coverager | Off | PHP_INI_ALL |
xcache.coveragedump_directory | "/tmp/pcov/" | PHP_INI_SYSTEM |
-
xcache.coverager
boolean
- Enable coverage data collecting for xcache.coveragedump_directory and xcache_coverager_start/stop/get/clean() functions (will hurt executing performance) xcache.coveragedump_directory string
- Directory to dump coverage data. Make sure it's readable (care open_basedir) by coverage viewer script. Requires xcache.coverager=On
$ wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz
$ tar -zxvf xcache-1.2.2.tar.gz
$ cd xcache-1.2.2
$ phpize
$ ./configure --enable-xcache --with-php-config=/usr/local/bin/php-config
$ make
$ make test
$ make install