PHP memcached 无法连接,但在日志文件或屏幕上没有错误


PHP memcached wont connect but no error in log files or on screen

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

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)
我相信

这是Codeigniter中memcached驱动程序的问题。

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

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