在Win7 中为php扩展配置Xcache

XCache 工程由 mOo 领队, 他也是 Lighttpd 的开发成员之一. Lighttpd 是最快的 Web 服务器应用程序之一, 并且超越 Apache 以及许多其他 Web 服务器. XCache 努力达到类似的效果.

目前最新的版本为XCache 3.2.0,它是php5全系列支持的,官方网站: http://xcache.lighttpd.net/

如果英文不好的朋友,可以点右边切换语言为中文。

首先下载最新的版本: http://xcache.lighttpd.net/pub/Releases/3.2.0/ 记得选择正确的版本。

下载解压后放到php下的ext目录下,然后打开php.ini 添加extension = php_xcache.dll

压缩包内还有一个中文版Xcache的php.ini的示范,还有就是一个查看Xcache及信息的程序.

注意xcache.admin.pass 用md5加密后存放

xcache.count可以根据你CPU的数设置,默认为1

xcache.slots缓存的文件/变量hash参考值,根据自己的实际情况可以设置

完成后,重新启动Apache服务。

代码如下:

;; 本文件只是例子, 请在 php.ini 里设置以便生效
[xcache-common]
;; 非 windows 例子:
extension = xcache.so
;; Windows 系统例子:
; extension = php_xcache.dll
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "mOo"
; xcache.admin.pass = md5($您的密码)
; 登录使用 $your_password下面的密码请用md5加密后填写到里面
xcache.admin.pass = ""
[xcache]
; 这里的多数选项仅在 ini 里可以修改, 这里列出的都是默认值, 除非另外说明
; 选择底层内存共享实现方案
xcache.shm_scheme =        "mmap"
; 禁用: xcache.size=0
; 启用: xcache.size=64M 之类 (任意>0的值) 同时请注意您的系统 mmap 上限
xcache.size  =               60M
; 建议设置为 cpu 数 (cat /proc/cpuinfo |grep -c processor)
xcache.count =                 1
; 只是个 hash 参考值, 实际存储项目(php脚本/变量)可超过这个数字
xcache.slots =                8K
; 缓存项目的 ttl, 0=永久
xcache.ttl   =                 0
; 扫描过期项目的时间间隔, 0=不扫描, 其他值以秒为单位
xcache.gc_interval =           0
; 同上, 只是针对变量缓存设置
xcache.var_size  =            4M
xcache.var_count =             1
xcache.var_slots =            8K
; xcache_*() 函数 ttl 参数的默认值
xcache.var_ttl   =             0
; 限制 xcache_*() 函数 ttl 参数不超过此设置. 0=不限制
xcache.var_maxttl   =          0
xcache.var_gc_interval =     300
; /dev/zero 时无效
xcache.readonly_protection = Off
; 对于 *nix 系统, xcache.mmap_path 是文件路径而不是目录. (自动创建/覆盖)
; 如果您期望启用 ReadonlyProtection, 必须避免使用 "/dev/*", 可以使用类似 "/tmp/xcache"
; 不同 php 进程组不会共享同一个 /tmp/xcache
; 对于 Win32 系统, xcache.mmap_path=匿名MAP名字, 不是文件路径. 建议使用 XCache 字眼避免跟其他软件冲突
xcache.mmap_path =    "/dev/zero"
 
; 仅在 XCache 异常时有用. 设置为空(禁用) 或者类似 "/tmp/phpcore/" (能被 php 写入文件)
xcache.coredump_directory =   ""
; 仅用于 Windows. 除非 XCache 开发人员告诉你, 否则保持默认值
xcache.coredump_type =         0
; 异常时自动禁止缓存
xcache.disable_on_crash =    Off
; 启用实验性功能 (如果有)
xcache.experimental =        Off
; 以下是 Request 级可改设置. 可以 ini_set, .htaccess 等
xcache.cacher =               On
xcache.stat   =               On
xcache.optimizer =           Off
[xcache.coverager]
; 本功能开启后降低运行性能
; 仅在 xcache.coverager == On && xcache.coveragedump_directory == "非空值" 时本功能才会启用
; per request settings. 可以 ini_set, .htaccess 等
; 启用代码流程覆盖面信息采集以及 xcache_coverager_start/stop/get/clean() 等函数
xcache.coverager =           Off
xcache.coverager_autostart =  On
; 仅在 php ini 文件内设置
; 请确保本目录能被 coverage viewer 脚本读取 (注意 open_basedir)
xcache.coveragedump_directory = ""

然后查看phpinfo,看看Xcache是否已经生效。如下图

现在在web发布目录中新建一个目录如xcache,将官方的压缩包内的lib及htdocs目录放里面,

在浏览器输入http://127.0.0.1/xcache/htdocs/, 会弹出一个登陆的账号密码对话框,输入进去后,你就可以看到xcache的环境及配置,变量等等。。

但实际上Xcache不但能缓存变量,而且能缓存php文件,如果你的php环境中配置了Xcache扩展后,它会自动将每次给你访问的php文件都自动缓存。无需再额外的修改代码,十分的方便快捷,如下图的我只访问了phpmyadmin,Xcache官方的程序包就可以检测到phpmyadmin的cache列表。

代码很简单,带单例模式,可以直接在应用环境中使用,代码在php5.5.12中完美测试通过。

代码如下:

$c =new Cache_Xcache();
  
 $c->set('key', 'aaaa123');
  
 echo $c->get('key');
  
 Cache_Xcache::getInstance()->set('key1', '999999999999999');
  
 echo Cache_Xcache::getInstance()->get('key1');
 /**------------------------------代码开始----------------------------------**/
  class Cache_Xcache {
    /**
     * 单例模式实例化本类
     *
     * @var object
     */
    protected static $_instance = null;
    /**
     * 默认的缓存策略
     *
     * @var array
     */
    protected $_defaultOptions = array('expire' => 900);
    /**
     * 构造方法
     *
     * @access public
     * @return boolean
     */
    public function __construct() {
        //分析xcache扩展模块         if (!extension_loaded('xcache')) {
            die('The xcache extension to be loaded before use!');
        }
        return true;
    }
    /**
     * 写入缓存
     *
     * @access public
     *
     * @param string $key 缓存key
     * @param mixted $value 缓存值
     * @param integer $expire 生存周期
     *
     * @return boolean
     */
     public function set($key, $value, $expire = null) {
        //参数分析         if (!$key) {
            return false;
        }
        $expire = is_null($expire) ? $this->_defaultOptions['expire'] : $expire;
        return xcache_set($key, $value, $expire);
     }
    /**
     * 读取缓存,失败或缓存撒失效时返回 false
     *
     * @access public
     *
     * @param string $key 缓存key
     *
     * @return mixted
     */
     public function get($key) {
        //参数分析         if (!$key) {
            return false;
        }
        return xcache_isset($key) ? xcache_get($key) : false;
     }
    /**
     * 缓存一个变量到数据存储
     *
     * @access public
     *
     * @param string $key 数据key
     * @param mixed $value 数据值
     * @param int $expire 缓存时间(秒)
     *
     * @return boolean
     */
    public function add($key, $value, $expire = null) {
        //参数分析         if (!$key) {
            return false;
        }
        $expire = is_null($expire) ? $this->_defaultOptions['expire'] : $expire;
        return !xcache_isset($key) ? $this->set($key,$value,$expire) : false;
    }
    /**
     * 删除指定的缓存
     *
     * @access public
     *
     * @param string $key 缓存Key
     *
     * @return boolean
     */
     public function delete($key) {
         //参数分析         if (!$key) {
            return false;
        }
        return xcache_unset($key);
     }
    /**
     * 清空全部缓存变量
     *
     * @access public
     * @return boolean
     */
    public function clear() {
        return xcache_clear_cache(XC_TYPE_VAR, 0);
    }
    /**
     * 单例模式
     *
     * 用于本类的单例模式(singleton)实例化
     *
     * @access public
     * @return object
     */
    public static function getInstance() {
        if (!self::$_instance) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }
}

(0)

相关推荐

  • win7计划任务定时执行PHP脚本设置图解

    做php开发的朋友有时候会希望自己的电脑能每天定时的运行一下某个脚本,但定时执行php脚本这种概念似乎多半是在linux中才提到,下面这篇文章主要和大家分享一下在win7下如何设置计划任务,以实现定时执行我们的php脚本. 1.如下图依次选择 "开始"--->"所有程序"--->"附件"--->"系统工具"--->"务计划程序" 2.在打开的面板中选择"创建任务"

  • Win7 64位系统下PHP连接Oracle数据库

    下面讲下配置过程 一.下载oracle instantclient 下载地址:http://www.oracle.com/technetwork/topics/winx64soft-089540.html 下载 instantclient-basic-windows.x64-11.2.0.4.0 解压路径:D:\Program Files (x86)\Oracle64Client\instantclient_11_2 *注:客户端需要对应数据库版本. 二.配置系统环境变量 在PATH环境变量后加

  • win7+apache+php+mysql环境配置操作详解

    1.php版本简介php各版本之间的区别,php版本后面一般有VC6和VC9.Thread Safe和Non Thread Safe的区别,VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的,VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的,如果你选用的是Apache或者其他服务软件,那么选择VC6,选用的是IIS的话,那么请下载VC9 的.Thread Safe 是线程安全,而Non Thre

  • 在win7中搭建Linux+PHP 开发环境

    我用了 3 年多的 Linux 桌面,很是不爽,主要是各个软件的体验不够统一,太分裂,太多选择让人无从选择. 而回到 Windows, 则更糟糕,使用 *nix 工具集变得非常折腾,部署 Web 环境也很麻烦,而且我的服务器都是 Linux 的,代码里有些功能是不能运行在 Windows 上的. 因为我偶尔还打打游戏,一个月前,我还是选择回到 Windows 桌面. 但我下面的这些软件几乎都是跨平台的,如果你使用 Linux 桌面,也不会有什么影响的. 我的主机是 Windows 7 x64,

  • 简单介绍win7下搭建apache+php+mysql开发环境

    环境目录:E:\dev​ 一.Apache 下载地址:http://www.apachelounge.com/download/​ 我们下载VC11运行库的 1.安装说明: 运行apache安装程序,方法非常简单,弹安装界面后一直"next" 接着会出现一个界面,需要填写3个内容,分别为:Network Domain.Server Name.Administrator's Email Address 随便填写就好,不影响内容. 在下面还有2个选项,默认选择为80端口,第二个为8080端

  • Win7下在IIS7中配置PHP的FastCGI支持_笔记

    在Windows7的控制面板-程序中"打开/关闭Windows功能",在里面打开IIS,不要忘了打开IIS里的CGI(这个默认是不选的),如下图(不自己截了,直接用微软的图): 然后就是"确定",等着安装,接下来是PHP了,在"http://windows.php.net/download/"里下载,我下的是VC9 x86 Thread Safe的Zip包,5.3.1的(写文时最新的).下好后解压到随便哪个目录里,我放到C:\php目录下,做下面

  • Win7下手动安装apache2.2、php5.4笔记

    纯记录,流水账. 首先创建d:\www目录,我们把web环境软件都装到这个目录下. 创建d:\www\logs目录,一些日志会放在这里. 从http://mirrors.cnnic.cn/apache/httpd/binaries/win32/ (apache.org上提到的镜像站点)下载到了httpd-2.2.25-win32-x86-openssl-0.9.8y.msi 安装apache2.2.25,选了下安装路径d:\www\apache2.2,其它都是下一步完成安装. 访问localho

  • win7 64位系统 配置php最新版开发环境(php+Apache+mysql)

    一 :准备阶段 1:php php-5.5.13下载链接:http://windows.php.net/downloads/releases/php-5.5.13-Win32-VC11-x64.zip 推荐 Thread Safe(线程安全) V11 x64,也就是64bit的. 现在PHP官网上下载PHP安装包都有VC11或VC9的字样,这是什么含义,我们应该下载哪种安装包更好呢? 其实PHP官网给出了答案: VC9 and VC11 More recent versions of PHP a

  • 在Win7 中为php扩展配置Xcache

    XCache 工程由 mOo 领队, 他也是 Lighttpd 的开发成员之一. Lighttpd 是最快的 Web 服务器应用程序之一, 并且超越 Apache 以及许多其他 Web 服务器. XCache 努力达到类似的效果. 目前最新的版本为XCache 3.2.0,它是php5全系列支持的,官方网站: http://xcache.lighttpd.net/ 如果英文不好的朋友,可以点右边切换语言为中文. 首先下载最新的版本: http://xcache.lighttpd.net/pub/

  • Win7中IIS的ASP.NET环境配置简洁版

    工作中需要在Win7中使用IIS搭建ASP.NET的网站,这里分享下配置中的小问题. siyue最开始自己配了一遍,发现使用IIS运行ASP.NET网站时一直报错,想到自己可能配置的有问题,于是上网找点资料看看. 发现有个朋友对这个进行了详细的设置,非常好的介绍,我这里只是稍微总结下,好让自己记得更清楚. 详细内容传送门:Win7旗舰版中的IIS配置asp.net的运行环境 siyue觉得在Win7上配置IIS,一般的安装IIS和建立网站都没问题,(不过要运行ASP必须在开发工具那里安装ASP.

  • Windows下Memcache的安装及PHP扩展配置方法

    一.下载 找到完整的memcache的Windows安装包,解压放在硬盘上,比如 F:\memcached.exe 二.安装 WIN7 64位双击打开这个exe可能只有一个空的窗口,不能输入任何命令,所以这个exe不是这样用的.要运行cmd控制台,输入 F:\memcached.exe -d install 安装,再输入 F:\memcached.exe -d start 启动. Tips:如果没有报错信息,则至此memcached已经安装并启动,而且默认是开机自动启动的 三.PHP扩展下载及版

  • FCKeditor 2.6.6在ASP中的安装及配置方法分享

    首先从FCKEditor官方下载最新的版本我们提供的下载地址 http://www.jb51.net/codes/21294.html 安装及配置方法:一.打开文件夹发现有许多文件对于ASP来说是用不到的:删除FCKEditor2.6.6中不必要的文件:解压缩FCKeditor_2.6.6.zip到你网站根目录 fckeditor文件夹中,同时把文件夹内带_的文件夹和文件一并删除:1.fckeditor目录下除editor目录.fckconfig.js.fckeditor.asp.fckedit

  • 老生常谈ThinkPHP中的行为扩展和插件(推荐)

    原理分析 将标签与类之间的对应关系(如'app_init'=>array('Common\Behavior\InitHook')),通过Hook类中import或add方法,加载到Hook类中静态变量$tags中.当执行Hook中静态方法listen或者exec方法的时候(listen方法中调用了exec),实例化标签对应的类,调用相应的方法(如果是插件,调用传递的方法,如果是行为,调用run方法). Hook中exec方法定义如下: static public function exec($n

  • 解析在PHP中使用mysqli扩展库对mysql的操作

    1.在PHP中 使用mysqli扩展库对mysql 的dql操作 复制代码 代码如下: <?php    header("Content-type: text/html;charset=utf-8");    //mysqli操作mysql数据库(面向对象方式)    //1.创建MySQLi对象    $mysqli =new MySQLi("localhost","root","root","test&qu

  • 浅谈JavaWeb中的web.xml配置部署描述符文件

    1. 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码. DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义). 所有部署描述符文件的顶层(根)元素为web-app.请注意,XML元素不像HTML,他们是大小写敏感的.因此,web-App和WEB-APP

  • CentOS 7中 Apache Web 服务器安装配置教程

    学习如何在CentOS 7 中的 Apache 上托管你自己的网站,这是一个可靠.流行且易于配置的 Web 服务器. 我托管自己的网站已经有很多年了.自从 20 多年前从 OS/2 切换到 Linux 以来,我一直将 Apache 作为我的服务器软件.Apache 是可靠.流行的,且基本的安装配置也很容易.对于更复杂的设置(比如多个网站)也并不是那么困难. Apache Web 服务器的安装和配置必须以 root 身份执行. 防火墙的配置也需要以 root 身份执行. 使用浏览器查看安装配置的结

  • vue2中使用sass并配置全局的sass样式变量的方法

    Sass语言 Sass是一种强大的css扩展语言(css本身并不是一门语言),它允许你使用变量.嵌套规则.mixins.导入等css没有但开发语言(如Java.C#.Ruby等)有的一些特性,并且完全兼容CSS语法.Sass有助于保持大型样式表结构良好.       Sass有两种语法. 一种称为SCSS,是一个CSS3语法的扩充版本,也就是说,所有符合CSS3语法的样式表也都是具有相同语法意义的SCSS文件,SCSS样式表文件要以.scss扩展名结尾.在vue中,我们可以使用<style la

  • spring boot springMVC扩展配置实现解析

    摘要: 在spring boot中 MVC这部分也有默认自动配置,也就是说我们不用做任何配置,那么也是OK的,这个配置类就是 WebMvcAutoConfiguration,但是也时候我们想设置自己的springMvc配置怎么办呢 . 我们也可以写个自己的配置类,继承 WebMvcConfigurer 重写需要的配置方法 .在spring boot 早期是继承WebMvcConfigurerAdapter ,但是高版已标上注解@Deprecated,注意:在配置类中不要标注:@EnableWeb

随机推荐