PHP memcached不会连接但在日志文件或屏幕上没有错误

时间:2012-06-11 01:48:47

标签: php codeigniter memcached

我无法让codeigniter与我的外部memcached服务器通话。我正在使用-vvv标志运行memcached,当通常通过php使用memcached时,它工作正常(谢谢你zerkms)。但是当我尝试通过codeigniter设置/获取值时,它甚至没有连接到删除服务器,但我根本没有任何错误。

memached.php配置文件

<?php
$config['memcached'] = array(
    'server_1' => array(
        'host' => 'xx.xx.xx.xx',
        'port'        => 11211,
        'weight'    => 1
    )
); 
?>

正在运行的代码:

$this->load->driver('cache', array('adapter' => 'memcached', 'backup' => 'file'));
$userid = '1';
$key = 'user_products_'.$userid;
$results = $this->cache->memcached->get($key);
if($results == NULL) {
    $qry = $this->db->query("SELECT * FROM products WHERE user_id=$userid");
    $results = $qry->result_array();
    $this->cache->memcached->save($key,$results,'60');
}

我试过了两个:

$this->cache->get();
$this->cache->save();

$this->cache->memcached->get();
$this->cache->memcached->save();

在Memcached驱动程序文件中,在第51行,当我使用var_dump检查get请求的输出时

$data = $this->_memcached->get($id);
var_dump($data);

我得到:

bool(false)

1 个答案:

答案 0 :(得分:0)

我认为这是Codeigniter中memcached驱动程序的一个问题。

我在Codeigniter论坛上发现了以下帖子。这个memcached库第一次完美地为我工作,绝对没有问题。它不是一个解决方案,因为我更喜欢使用内置的Codeigniter Cache库,但同时这提供了一个足够实用的解决方案。

http://codeigniter.com/forums/viewthread/212893/