华风 发表于 2015-11-19 09:32:15

PHP XCache缓存安装使用

XCache是另外一种在PHP中使用的Opcode缓存工具。像APC一样,XCache在共享内存中存储Opcode,并使用缓存的Opcode来响应对PHP脚步的请求。
在Windows系统上安装XCache
1、在http://xcache.lighttpd.net/pub/ReleaseArchive 根据你的PHP版本,下载对应的软件包。2、解压后把php_xcache.dll复制到ext目录中3、在PHP.ini文件加入 viewplaincopy
[*]
[*]Zend_extension_ts=php_xcache.dall

在Liunx系统上安装XCache
wget http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.gz
tar -zxvf xcache-1.3.2.tar.gz
cd xcache-1.3.2
phpize
./configure --enable-xcache
make
make install doc.codesky.net
打开php.ini文件,增加如下代码:

; change me - 64 bit php => /usr/lib64/php/modules/xcache.so
; 32 bit php => /usr/lib/php/modules/xcache.so
zend_extension = /usr/lib64/php/modules/xcache.so


xcache.admin.auth = On
xcache.admin.user = "mOo"
; xcache.admin.pass = md5($your_password)
xcache.admin.pass = ""


xcache.shm_scheme =      "mmap"
xcache.size=               32M
xcache.count =               1
xcache.slots =                8K
xcache.ttl   =            3600
xcache.gc_interval =         300

; Same as aboves but for variable cache
; If you don't know for sure that you need this, you probably don't
xcache.var_size=            0M
xcache.var_count =             1
xcache.var_slots =            8K
xcache.var_ttl   =             0
xcache.var_maxttl   =          0
xcache.var_gc_interval =   300

; N/A for /dev/zero
xcache.readonly_protection = Off

xcache.mmap_path =    "/dev/zero"

xcache.cacher =               On
xcache.stat   =               On
注意修改zend_extension = /usr/lib64/php/modules/xcache.so为正确的路径。
XCache设置
xcache.admin.user   (String) 管理认证用户名。默认设置&quot;mOo&quot;xcache.admin.pass(String)管理认证密码。默认设置为&quot;<empty string>&quot;。此值应该是MD5(你的密码)
xcache.admin.enable_auth (String)启用或禁用管理站点的身份验证。默认值&quot;on&quot;xcache.test (String)启用或禁用测试功能xcache.coredump_dir   (String)在遇到故障时,放置核心转储的目录。必须是PHP可写入的目录。保留为空带表禁用
xcache.cacher   (Boolean) 启用或禁用Opcode 缓存。默认开启xcache.size    (int)所有共享缓存的大小。如果为0,缓存将无法使用xcache.count(int)缓存被分割的“块”数。默认值1xcache.slots   哈希表提示。数字越大,哈希表内进行的搜索速度就越快。此值越高,所需内存也越多
xcache.ttl   (int)Opcode文件的生存时间。0=无限期缓存xcache.gc_interval(秒) 触发垃圾回收的时间间隔。默认0xcache.var_size(int)变量大小xcache.var_count (int)变量个数xcache.var_slots 可变数据槽设置xcache.var_ttl (秒)可变数据的生存时间,默认设置0xcache.var_maxttl (秒)处理变量时最大的生存时间xcache.var_gc_interval (秒)垃圾回收的生存时间xcache.readonly_protection (Boolean)启用ReadonlyProtection时可用。
xcache.mmap_path (String)用于只读保护的文件路径。这将限制两个PHP组共享同一个/tmp/cache目录
xcache.optimizer (Boolean)启用或禁用优化默认禁用xcache.coverager (Boolean)启用覆盖范围数据集合。xcache.coveragerdump_directory (String)放置数据集合信息的目录位置。默认使用目录/tmp/pcovis
实例
引用www.initphp.com 框架 Xcache类 viewplaincopy
[*]<?php
[*]if (!defined('IS_INITPHP')) exit('Access Denied!');
[*]/*********************************************************************************
[*] * InitPHP 2.0 国产PHP开发框架Dao-XCACHE缓存
[*] *-------------------------------------------------------------------------------
[*] * 版权所有: CopyRight By initphp.com
[*] * 您可以自由使用该源码,但是在使用过程中,请保留作者信息。尊重他人劳动成果就是尊重自己
[*] *-------------------------------------------------------------------------------
[*] * $Author:zhuli
[*] * $Dtime:2011-10-09
[*]***********************************************************************************/
[*]class xcacheInit {
[*]      
[*]    /**
[*]   * Xcache缓存-设置缓存
[*]   * 设置缓存key,value和缓存时间
[*]   * @paramstring $key   KEY值
[*]   * @paramstring $value 值
[*]   * @paramstring $time缓存时间
[*]   */
[*]    public function set_cache($key, $value, $time = 0) {   
[*]      return xcache_set($key, $value, $time);;
[*]    }
[*]      
[*]    /**
[*]   * Xcache缓存-获取缓存
[*]   * 通过KEY获取缓存数据
[*]   * @paramstring $key   KEY值
[*]   */
[*]    public function get_cache($key) {
[*]      return xcache_get($key);
[*]    }
[*]      
[*]    /**
[*]   * Xcache缓存-清除一个缓存
[*]   * 从memcache中删除一条缓存
[*]   * @paramstring $key   KEY值
[*]   */
[*]    public function clear($key) {
[*]      return xcache_unset($key);
[*]    }
[*]      
[*]    /**
[*]   * Xcache缓存-清空所有缓存
[*]   * 不建议使用该功能
[*]   * @return
[*]   */
[*]    public function clear_all() {
[*]      $tmp['user'] = isset($_SERVER['PHP_AUTH_USER']) ? null : $_SERVER['PHP_AUTH_USER'];
[*]      $tmp['pwd'] = isset($_SERVER['PHP_AUTH_PW']) ? null : $_SERVER['PHP_AUTH_PW'];
[*]      $_SERVER['PHP_AUTH_USER'] = $this->authUser;
[*]      $_SERVER['PHP_AUTH_PW'] = $this->authPwd;
[*]      $max = xcache_count(XC_TYPE_VAR);
[*]      for ($i = 0; $i < $max; $i&#43;&#43;) {
[*]            xcache_clear_cache(XC_TYPE_VAR, $i);
[*]      }
[*]      $_SERVER['PHP_AUTH_USER'] = $tmp['user'];
[*]      $_SERVER['PHP_AUTH_PW'] = $tmp['pwd'];
[*]      return true;
[*]    }
[*]      
[*]    /**
[*]   * Xcache验证是否存在
[*]   * @paramstring $key   KEY值
[*]   */
[*]    public function exists($key) {
[*]      return xcache_isset($key);
[*]    }
[*]}
页: [1]
查看完整版本: PHP XCache缓存安装使用