3.compiler xcache
wget http://... (the release url)
tar -xzvf xcache-*.tar.gz
cd xcache*
phpize --clean && phpize && ./configure --enable-xcache --enable-xcache-optimizer
make
sudo make install
4.
take off /etc/php5/conf.d/xcache.ini
(zen_extension don't support xcache any more)
5.
vi /etc/php5/cgi/php.ini
add parameter
[xcache-common]
;; install as zend extension (recommended), normally "$extension_dir/xcache.so"
; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows
xcache.size = 32M
; set to cpu count (cat /proc/cpuinfo |grep -c processor)
xcache.count = 2
; just a hash hints, you can always store count(items) > slots
xcache.slots = 8K
; ttl of the cache item, 0=forever
xcache.ttl = 0
; interval of gc scanning expired items, 0=no scan, other values is in seconds
xcache.gc_interval = 0
; same as aboves but for variable cache
xcache.var_size = 8M
xcache.var_count = 1
xcache.var_slots = 8K
; default ttl
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
; N/A for /dev/zero
xcache.readonly_protection = Off
; for *nix, xcache.mmap_path is a file path, not directory.
; Use something like "/tmp/xcache" if you want to turn on ReadonlyProtection
; 2 group of php won't share the same /tmp/xcache
; for win32, xcache.mmap_path=anonymous map name, not file path
xcache.mmap_path = "/dev/zero"
; leave it blank(disabled) or "/tmp/phpcore/"
; make sure it's writable by php (without checking open_basedir)
xcache.coredump_directory = ""
; disable cache after crash
xcache.disable_on_crash = Off
; enable experimental documented features for each release if available
xcache.experimental = Off
; per request settings
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off
[xcache.coverager]
; per request settings
; enable coverage data collecting for xcache.coveragedump_directory and xcache_coverager_start/stop/get/clean() functions (will hurt executing performance)
xcache.coverager = Off
xcache.coverager_autostart = On
; ini only settings
; make sure it's readable (care open_basedir) by coverage viewer script