cakephp - использовать memcache для сессий - PullRequest
1 голос
/ 01 ноября 2011

Я новичок в cakephp, и у меня возникают проблемы с настройкой его работы на моем живом сервере.Он отлично работает на моей локальной машине.

Я думаю, проблема в том, что мой живой сервер настроен на использование Memcache.Когда я захожу на живой сайт, я получаю:

Warning (2): session_start() [function.session-start]: open(=1&retry;_interval=15/sess_mt8tpui04vorqojg7s945e5sf5, O_RDWR) failed: No such file or directory (2) [CORE/Cake/Model/Datasource/CakeSession.php, line 615]
Warning (2): session_write_close() [function.session-write-close]: open(=1&retry;_interval=15/sess_mt8tpui04vorqojg7s945e5sf5, O_RDWR) failed: No such file or directory (2) [CORE/Cake/Controller/Controller.php, line 712]
Warning (2): session_write_close() [function.session-write-close]: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (tcp://127.0.0.1:11211?persistent=1&weight;=1&timeout;=1&retry;_interval=15) [CORE/Cake/Controller/Controller.php, line 712]

Итак, я попытался включить торт для использования memcache, добавив следующее в app / Config / core.php:

Cache::config('default', array(
    'engine' => 'Memcache'
));

Но я все еще получаю ту же ошибку.

php.ini настроен для правильного использования memcache.

Есть идеи?

Спасибо

1 Ответ

4 голосов
/ 19 октября 2012

Ваш Cache :: config выглядит не полностью!

Это должно выглядеть так, и этот блок кода будет в app / Config / bootstrap.php

Cache::config('default', array(
          'engine' => 'Memcache', //[required]
          'duration' => 3600, //[optional]
          'probability' => 100, //[optional]
          'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every cache file with this string
          'servers' => array(
                  '127.0.0.1:11211' // localhost, default port 11211
          ), //[optional]
          'persistent' => true, // [optional] set this to false for non-persistent connections
          'compress' => false, // [optional] compress data in Memcache (slower, but uses less memory)
  ));

Также вам нужно установитьобработчик сеанса http://book.cakephp.org/2.0/en/development/sessions.html#cache-sessions

Мой выглядит следующим образом, обратите внимание, что я назвал " sessiones " & Этот блок кода будет в app / Config / core.php

Configure::write('Session', array(
        'defaults' => 'cache',
            'handler' => array(
                'config' => 'sessiones'
            ),
        'cookie' => 'PHPSESSID',
        'timeout' => 3600,
        'cookieTimeout' => 0,
        'autoRegenerate' => false,
        'checkAgent' => true,
        'ini' => array(
            'session.cookie_secure' => false,
            'session.cookie_httponly' => true,
        )
    ));

А затем настройте Cache: config для обработчика " sessiones ", и этот блок кода будет находиться в app / Config / bootstrap.php

Cache::config('sessiones', array('engine' => 'Memcache','duration'=> 3600,/*'prefix' =>'es',*/ 'servers' => array(array('127.0.0.1:11211'), 'compress' => false));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...