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

[版本 3.x] memcached老问题了 真服了

[复制链接]
发表于 2015-4-3 11:28:21 | 显示全部楼层 |阅读模式
<?php
class Testmc extends CI_Controller {
  function __construct(){
         parent::__construct();
  }
  function index(){
          $this->load->driver('cache');
          $a = $this->cache->memcached->save('foo',1,60);
          //$b = $this->cache->memcached->get('foo');
          var_dump($a);
  }

}
?>

这是控制器代码 memcached配置文件已经配置好   system文件没有改动 官方原版  memcached亲测可用  is_supported也返回true  为毛这么简单个控制器代码返回false  

发表于 2015-4-6 12:11:42 | 显示全部楼层
看错误提示,cache对象都没实例化。$this->load->driver('cache',
        array('adapter' => 'memcached', 'backup' => 'file', 'key_prefix' => 'my_'),加载driver时就指定类型试试
);
 楼主| 发表于 2015-4-3 11:30:29 | 显示全部楼层
不好意思  刚看官方核心代码确实返回false 但是为什么用get取不到数据啊
 楼主| 发表于 2015-4-3 11:31:34 | 显示全部楼层
Fatal error: Call to a member function get() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/ci/system/libraries/Cache/drivers/Cache_memcached.php on line 79
A PHP Error was encountered

Severity: Error

Message: Call to a member function get() on a non-object

Filename: drivers/Cache_memcached.php

Line Number: 79

Backtrace:

这是用 $this->cache->memcached->get('foo');  取数据的结果 我写错了么
发表于 2015-4-3 19:31:42 | 显示全部楼层
php扩展没装吧
 楼主| 发表于 2015-4-4 10:44:08 | 显示全部楼层

装了   我说了用PHP本来操作的memcached的类可以操作memcached
发表于 2015-4-6 12:20:14 | 显示全部楼层
如果任然不行,就去cache适配器文件夹中的Cache_memcached.php,_setup_memcached方法处断点调试一下。看memcached对象是否正常生成
发表于 2015-5-20 12:00:21 | 显示全部楼层
同样的错误,你解决了吗?
发表于 2015-5-20 12:55:02 | 显示全部楼层
我刚解决了,就是没有实例化memcached,每次调用的时候,先
$this->load->driver('cache');
$this->cached->memcached->is_supported();
就行了,太冷清,唉!
      

本版积分规则