Php 未定义的属性:添加::$cache-Codeigniter

Php 未定义的属性:添加::$cache-Codeigniter,php,codeigniter,memcached,Php,Codeigniter,Memcached,当我尝试使用in-Codeigniter时,我遇到了一个严重的问题。但是,我无法在此阵列中自动加载缓存驱动程序: $autoload['libraries'] = array('database', 'session', 'parser', 'common', 'cache'); 如果我删除缓存,页面将加载,但如果没有,页面将显示空白,没有错误报告(注意,我打开了错误报告并设置为E_ALL) 无论如何,由于我无法加载缓存,我将其添加到我创建的类common,并从那里加载它,执行以下操作: cl

当我尝试使用in-Codeigniter时,我遇到了一个严重的问题。但是,我无法在此阵列中自动加载
缓存
驱动程序:

$autoload['libraries'] = array('database', 'session', 'parser', 'common', 'cache');
如果我删除
缓存
,页面将加载,但如果没有,页面将显示空白,没有错误报告(注意,我打开了错误报告并设置为
E_ALL

无论如何,由于我无法加载
缓存
,我将其添加到我创建的类
common
,并从那里加载它,执行以下操作:

class Common extends CI_Controller {

    function __construct()
    {
        parent::__construct();

        $this->load->driver('cache');
    }
}
现在我犯了错误:

遇到一个PHP错误

严重性:通知

消息:未定义的属性:添加::$cache

文件名:controllers/add.php

行号:33遇到PHP错误

严重性:通知

消息:正在尝试获取非对象的属性

文件名:controllers/add.php

电话号码:33

下面是哪个
add.php

class Add extends CI_Controller {

    public function index()
    {
        $data = array('page_title' => 'Add your listing');

        $this->load->view('overall_header', $data);

        $sql = "SELECT item_id,
                       item_name
                FROM " . ITEMS_TABLE . "
                WHERE item_visible = 1";

        $items_key = md5('query:' . $sql);

        $result = $this->cache->memcached->save($items_key); // this is line 33
    }
}
我需要memcached来为我的Codeigniter应用程序工作,我已经尝试使用这个来自的定制类


如何让memcached工作,我已经正确设置了
应用程序/config/memcached.php
中的所有设置,但我想这不是问题所在。

首先确保php加载了memcached库。PHP使用两种类型的库:memcache和memcached(注意末尾的D)。Codeigniter缓存驱动程序需要memcached扩展

这个司机是个十足的车夫。首先,默认选项没有正确加载,因此需要创建一个config/memcached.php文件

下面是我的config/memcached.php的外观:

<?php
$config['memcached'] = array(
        'hostname'  => '127.0.0.1',
        'port'      => 11211,
        'weight'    => 1
);

啊。刚发现我在用Memcache。。。所以没有对Memcache的初始支持?没有,Cache_memcached.php使用memcached。最终,您可以基于memcacheHmm编写自己的。好主意。谢谢,我刚刚接受了你的回答。如果可以的话,你介意回答这个问题吗:谢谢:-)