Xcache为PHP提速
XCache 是一个又快又稳定的PHPopcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行PHP分支的最新发布版本, 如 PHP_5_1 PHP_5_2 PHP_5_3 PHP_5_4. 并完美支持线程安全/Windows. 与同类 opcode 缓存器相比更胜一筹, 比如能够快速跟进PHP版本.
更多详细信息,请访问Xcache官方网站:http://xcache.lighttpd.net/
安装步骤:
1、解压tar.gz包
[root@localhost~]#tarxfxcache-3.0.4.tar.gz-C/usr/local/src[root@localhost~]#cd/usr/local/src[root@localhostsrc]#cdxcache-3.0.4/###查看安装步骤[root@localhostxcache-3.0.4]#vimINSTALLInstalltion:$phpize--clean&&phpize$./configure--help$CFLAGS='yourcflags'./configure--enable-xcache--enable...$make$su#makeinstall(updatephp.ini,restartphp)###用本地的解释器探测模块所依赖的版本号/扩展API,生成序列号标记,而后才能产生configure文件,才能编译[root@localhostxcache-3.0.4]#/usr/local/php/bin/phpize[root@localhostxcache-3.0.4]#./configure--enable-xcache--enable-xcache-coverager--enable-xcache-optimizer--with-php-config=/usr/local/php/bin/php-config#注意:--enable-xcache#启用xcache--enable-xcache-vocerager#附加特性--enable-xcache-optimizer#启用操作码优化[root@localhostxcache-3.0.4]#make&&makeinstall##安装完成后,会提示xcache.so模块的路径,我们把xcache.so移动到/usr/local/php/include/php/ext目录下,方便管理Installingsharedextensions:/usr/local/php/lib/php/extensions/no-debug-zts-20100525/[root@localhostxcache-3.0.4]#mv/usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so/usr/local/php/include/php/ext/##生成Xcache管理员的密码(MD5密文)[root@localhost~]#echo-n'123456'|md5sume10adc3949ba59abbe56e057f20f883e
2、整合php和xcache
[root@localhostxcache-3.0.4]#cpxcache.ini/etc/php.d/###编辑xcache.ini##通常仅编辑extension=xcache.admin.enable_auth=xcache.admin.user=xcache.admin.pass=#####################################[xcache-common]extension="/usr/local/php/include/php/ext/xcache.so";xcache.so路径[xcache.admin]xcache.admin.enable_auth=On;开启验证xcache.admin.user="xcache";验证名xcache.admin.pass="e10adc3949ba59abbe56e057f20f883e";md5后的验证密码,亦即echo-n"123456"|md5sum,留空则禁用管理页面.[xcache]xcache.shm_scheme="mmap";决定XCache如何从系统分配共享内存xcache.size=60M;0禁止,非0则启用缓存器.请注意您系统所允许的mmap最大值.xcache.count=1;指定将cache切分成多少块.(cat/proc/cpuinfo|grep-cprocessor)xcache.slots=8K;只是作为hash槽个数的参考值,您可以放心地缓冲超过这个个数的项目.xcache.ttl=0;设置缓冲项目的Ttl(TimeToLive)值,0=永不过期.xcache.gc_interval=0;检查过期项目,回收内存空间的间隔.xcache.var_size=4Mxcache.var_count=1xcache.var_slots=8K;同上,不过用于数据缓冲而不是opcode缓冲.xcache.var_ttl=0;xcache_(get|set|inc|dec)等的默认ttl值.xcache.var_maxttl=0;最大ttl值,程序无法指定超过这个最大值的ttl.xcache.var_gc_interval=300xcache.test=Offxcache.readonly_protection=On;如果启用了ReadonlyProtection,将会略微降低性能,但是会提高一定的安全系数.这个选项对于xcache.mmap_path=/dev/zero无效.xcache.mmap_path="/tmp/xcache";缓存文件,不是目录,需要手动创建xcache.coredump_directory=""xcache.cacher=On;使用/不使用opcode缓存器.xcache.size=0时无效.xcache.stat=On;使用stat()发现检查脚本更新.xcache.optimizer=Off[xcache.coverager]xcache.coverager=On;启用代码覆盖信息采集到.启用后xcache.coveragedump_directory设置以及xcache_coverager_start/stop/get/clean()才可以使用.(启用后会对降低影响)xcache.coverager_autostart=On;每个页面请求自动调用xcache_coverager_startxcache.coveragedump_directory=""
3、生成xcache缓存文件
[root@localhost~]#touch/tmp/xcache[root@localhost~]#chmod777/tmp/xcache
4、使用admin管理
其实要想作为一个站点,可以有5种方式进行访问 :
(物理目录、虚拟目录、基于IP、基于端口、基于主机)
#拷贝Xcache管理程序到网站根目录下[root@localhostxcache-3.0.4]#cp-ahtdocs/usr/local/apache/htdocs/xadmin#重启httpd,如果fastCGI方式,还需要重启php-fpm服务[root@localhost~]#servicehttpdrestart[root@localhost~]#servicephp-fpmrestart报错:Startingphp-fpm:[21-Jul-201418:55:21]NOTICE:PHPmessage:PHPWarning:PHPStartup:Unabletoloaddynamiclibrary'/usr/local/php/include/php/ext/xcache.so'-/usr/local/php/include/php/ext/xcache.so:undefinedsymbol:core_globals_idinUnknownonline0#########################?????????#这里我不知道出现了什么情况,不知道是不是版本的问题#httpd-2.2.27,php-5.4.30,xcache-3.0.4,fastCGI方式##希望大家解答一下##########################后来,我还是使用module的方式,就一切OK。。[root@localhost~]#vi/etc/httpd/httpd.confLoadModulephp5_modulemodules/libphp5.so#LoadModulefastcgi_modulemodules/mod_fastcgi.so[root@localhosthttpd]#servicehttpdrestart
然后访问http://localhost/xadmin,用户名为xcache,密码为123456;
另外,还可以通过phpinfo来验证PHP是否支持Xcache
参考:
http://51log.blog.51cto.com/6076767/1291006
http://wushuaishuai.cn/xcache-buffer-introduction-use-and-configure.html
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。