This is another one of my quick mini-guides for how to install Xcache php optimizer. We have found this to work very nicely on servers and can even work with zend and eaccelerator if you require both. We have found no stability issues with 1.2.1 and run it on several very large and important servers.
Download the source and start to compile:
# cd /usr/local/src/
# wget http://xcache.lighttpd.net/pub/Releases/1.2.1/xcache-1.2.1.tar.gz
# tar -zxf xcache-1.2.1.tar.gz
# cd xcache-1.2.1
Next we have to run phpize, if it is not in a standard location you will need to do the full path. The configure may also require additional options if your php-config binary is not on the bin path.
# phpize
# ./configure
# make
# make install
ln -s /usr/local/lib/php/extensions/no-debug-non-zts-20020429/xcache.so /usr/local/php5//lib/php/extensions/no-debug-non-zts-20060613/xcache.so
Note The above sym-links the xcache.so to the php5.2.3 install, if you are unsure of the best place to put it run php -i |grep extension_dir and you will get something like this:
# php -i |grep extension_dir
extension_dir => /usr/local/php5//lib/php/extensions/no-debug-non-zts-20060613
You would then want to link the xcache.so into the /usr/local/php5//lib/php/extensions/no-debug-non-zts-20060613 directory as was done above. Finally you need to paste the rest into the php.ini. If you are unsure of where it is run “php -i |grep php.ini” . NOTE the admin user and password, you obviously need to change that.
[xcache-common]
extension = xcache.so
[xcache.admin]
xcache.admin.auth = On
xcache.admin.user = “eth00?
xcache.admin.pass = “some-password”
[xcache]
; ini only settings, all the values here is default unless explained
; select low level shm/allocator scheme implemenation
xcache.shm_scheme = “mmap”
; to disable: xcache.size=0
; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows
xcache.size = 0M
; set to cpu count (cat /proc/cpuinfo |grep -c processor)
xcache.count = 1
; 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 = 0M
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 = “”
; 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
; ini only settings
; make sure it’s readable (care open_basedir) by coverage viewer script
; requires xcache.coverager=On
xcache.coveragedump_directory = “”
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment