用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3657|回复: 10
收起左侧

紧急求助Cache适配器问题,教程上的方法在2.1.2根本无效

[复制链接]
发表于 2012-9-20 09:16:20 | 显示全部楼层 |阅读模式
折腾了整整2天了人都快崩溃了

无论怎么试都无效

222222.jpg

QQ截图20120920085515.jpg


人都快疯了{:soso_e118:}
发表于 2012-9-20 09:23:18 | 显示全部楼层
你安装memcached了么
 楼主| 发表于 2012-9-20 12:32:51 | 显示全部楼层
本帖最后由 星界の浪人 于 2012-9-20 13:04 编辑
kissgxd 发表于 2012-9-20 09:23
你安装memcached了么


装了,调试过了 就是这个适配器的问题

 楼主| 发表于 2012-9-20 12:42:38 | 显示全部楼层
本帖最后由 星界の浪人 于 2012-9-20 12:48 编辑
kissgxd 发表于 2012-9-20 09:23
你安装memcached了么


QQ截图20120920124112.jpg


即便是使用file 也是报save()这个方法不存在

使用适配器 但适配器完全不识别函数

这个已经和使用哪一种缓存无关了,关于Cache模块的整个适配器功能是无效的

 楼主| 发表于 2012-9-20 13:00:01 | 显示全部楼层
本帖最后由 星界の浪人 于 2012-9-20 13:05 编辑

找到原因了

在Load方法的最后 框架使用了 $CI =& get_instance(); 获取原始资源

111.jpg

可悲的是这个$CI 和调用LOAD 的$this更本不是同一个东西

如果这么写就运行正常了,无语至极

222.jpg

说白了适配器的那个Load根本没有把初始化的方法放到 $this 里面去 是我用的有问题还是2.1.2的bug?
 楼主| 发表于 2012-9-20 13:14:57 | 显示全部楼层
333.jpg

这样就正常了,3个字 "逗你玩"{:soso_e111:}{:soso_e111:}{:soso_e111:}
发表于 2012-9-29 08:54:17 | 显示全部楼层
PHP复制代码
       
//这样试下呢
        $this->load->driver('cache');
 
                if ( ! $foo = $this->cache->get('foo'))
                {
                echo 'Saving to the cache!<br />';
                $foo = 'foobarbaz!';
 
                // Save into the cache for 5 minutes
                $this->cache->save('foo', $foo, 300);
                }
 
                echo "<pre>";
                print_r($this->cache->cache_info());
                print_r($this->cache->get_metadata('foo'));
                //      $this->cache->delete('foo');
                echo "</pre>";
 
                echo $foo;
 
                /**/
                echo "<br/>";
                echo "Memcache启动<br/>";
 
                if ($this->cache->memcached->is_supported())
                {
                        if ( ! $cier = $this->cache->memcached->get('CIER'))
                        {
                        echo 'Memcache CIER !<br />';
 
                        $cier = 'Memcache CIER !';
 
                        //      Save into the cache for 5 minutes
                        $this->cache->memcached->save('CIER', $cier, 300);
                        }
                        else
                        {
                                echo "读取缓存 ";
                                echo $cier;
                        }
                }
                else
                {
                        echo "Memcache启动失败";
                }
复制代码
发表于 2012-9-29 11:30:55 | 显示全部楼层
没用过这个功能,但是顶一下楼主{:soso_e100:}
发表于 2012-10-12 15:55:00 | 显示全部楼层
。。。。。。。。。。。
发表于 2012-10-12 16:03:54 | 显示全部楼层
亲,一直以来都是这么用的,并不需要像你说的那样改动。
如下图,结果是111
TM截图未命名.jpg

本版积分规则