Discuz X2.5完美支持WinCache的方法分享

玩改车 书生 2012-07-31
WinCache是微软在IIS平台下发布的优秀的PHP加速器,Windows平台下其稳定性和性能提升比同类软件(xCache、Memcache、eAccelerator、APC等等)都好,能极大的改善PHP程序在Windows平台下的性能。
Discuz一直以来就不支持WinCache,感觉比较遗憾,不过还好,Discuz的扩展部分做的不错,能很容易的把WinCache支持部分快速增加上。下面就是玩改车(wangaiche.com)技术团队修改的X2.5,能较好的支持WinCache,在这里跟大家分享一下。
使用程序说明:
1、Discuz X2.5 20120701版本;
2、服务器程序版本:IIS7.5+PHP5.4.5 NTS;
3、WinCache 1.3.4 for PHP 5.4.X
已经上传到115,下载地址为:
http://115.com/file/e7k73ves#
[wangaiche.com]_wincache-1.3.4-dev-5.4-nts-vc9-x86.exe
修改文件内容:
1、\source\class\discuz\discuz_memory.php (修改)[code]$this->extension['eaccelerator'] = function_exists('eaccelerator_get');
//下面这句是新增的,主要是判断wincache是否已经配置成功,并且运行正常;
$this->extension['wincache'] = function_exists('wincache_ucache_get');
[/code][code]foreach(array('apc', 'eaccelerator', 'xcache', 'wincache') as $cache) {
                        if(!is_object($this->memory) && $this->extension[$cache] && $this->config[$cache]) {
                                $class_name = 'memory_driver_'.$cache;
                                $this->memory = new $class_name();
                                $this->memory->init(null);
                        }
                }
[/code]2、\source\admincp\admincp_setting.php (修改)[code]$ea = array('eAccelerator',
                        $cache_extension['eaccelerator'] ? cplang('setting_memory_php_enable') : cplang('setting_memory_php_disable'),
                        $cache_config['eaccelerator'] ? cplang('open') : cplang('closed'),
                        $cache_type == 'eaccelerator' ? $do_clear_link : '--'
                        );
//下面这句是新增的,主要是为了在后台内存优化管理页面,显示wincache相关的配置信息和数据
//这里是把数据保存到数组里面;
$wincache = array('WinCache',
            $cache_extension['wincache'] ? cplang('setting_memory_php_enable') : cplang('setting_memory_php_disable'),
            $cache_config['wincache'] ? cplang('open') : cplang('closed'),
            $cache_type== 'wincache' ? $do_clear_link : '--'
            );
[/code][code]showtablerow('', '', $ea);
//下面这句是新增的,主要是把wincache的配置信息和数据显示出来;
showtablerow('', '', $wincache);
[/code]3、\source\class\memory\memory_driver_wincache.php(新增)[code]<?php
/**
*      WinCache Interface for Discuz X2.5 (IIS Platform)
*      
*      $Id: memory_driver_wincache.php 2012-07-30 Created by Yang Wang (http://wangaiche.com)
*/
if(!defined('IN_DISCUZ')) {
        exit('Access Denied');
}
class memory_driver_wincache
{
        public function init($config) {
        }
        public function get($key) {
                return wincache_ucache_get($key);
        }
        public function set($key, $value, $ttl = 0) {
                return wincache_ucache_set($key, $value, $ttl);
        }
        public function rm($key) {
                return wincache_ucache_delete($key);
        }
        public function clear() {
                return wincache_ucache_clear();
        }
        
        public function inc($key, $step = 1) {
                return wincache_ucache_inc($key, $step);
        }
        public function dec($key, $step = 1) {
                return wincache_ucache_dec($key, $step);
        }
}
?>[/code]4、\config\config_global.php(修改)[code]$_config['memory']['eaccelerator'] = 1;
//下面这句是新增的,是控制wincache是否启用;(1为启用;0为不启用)
$_config['memory']['wincache'] = 1;[/code]上面的几个修改文件,我们也做了打包了,放在115上了:
http://115.com/file/e7k762tr#
[wangaiche.com]_WinCache support for Discuz X2.5.zip
注意:这里面没有config_global.php文件,自己修改一下即可!
本文由玩改车(http://wangaiche.com)技术团队原创,转载请保留来源。

相关专题

相关推荐

Discuz! X2标题去掉"Powered by Discuz!"完美修改方法

Discuz X2首页keywords和description显示问题

Discuz!论坛远程链接图片增加Alt属性的方法(最新修改)

Discuz! X2禁止前台文章列表页缩略图显示修改方法

提升Discuz门户文章收录最有效的办法

Discuz X2.5 keywords和description只能看到“首页”的解决办法

Discuz X2.5点击“发帖”出现XML代码的解决办法

Discuz X2.5完美支持WinCache的方法分享

Discuz远程附件图片裁切无法更新的问题修复

Discuz门户文章中图片设置Alt属性