Не удалось интегрировать Redis с Codeigniter

Я использую библиотеку codigniter-redis для использования Redis внутри фреймворка codeigniter. Я поместил Redis.php (файл библиотеки) в приложениях/библиотеке и redis.php( файл конфигурации ) в приложениях/конфигурации

Вот мой код

class Test extends Controller {

    function __construct()
    {
        log_msg('info', "loading redis");
        $this->load->library('redis', array('connection_group' => 'default'), 'redis_default');
    }

    function index()
    {
        $this->redis->command('PING');
    }

Когда я вызываю тестовый контроллер из браузера, он выдает ошибку

Message: Undefined property: Test::$redis

Filename: controllers/test.php  

Но он показывает соответствующие журналы в файле журнала, один из которых показан выше, а другой я поместил в функцию Redis.php _construct, которая сообщает мне, что соединение успешно

if ( ! $this->_connection)
        {
            show_error('Could not connect to Redis at ' . $config['host'] . ':' . $config['port']);
        }
        else
        {
            log_msg('info', "connection successful");
        }

person Anubhav Agarwal    schedule 07.08.2013    source источник


Ответы (1)


Просто чтобы еще раз проверить: код, который вы разместили здесь, точно соответствует контроллеру? Если это так, не забудьте расширить CI_Controller, а не только Controller.

Кроме того, в _construct() отсутствует ваш parent::_construct().

Из ваших записей в журнале видно, что он подключается к _construct(), но в основном на этом все заканчивается. Скорее всего, это вызвано отсутствием parent::_construct(). Надеюсь это поможет

person jc1arke    schedule 15.11.2013