Настройте CakePHP 2. * сеанс и кэш сеанса в базе данных

Когда я переключился на балансировщик нагрузки AWS (несколько серверов), сессия должна сохраняться уникальной. Когда я заходил на сайт, сеанс терялся, и он перенаправлялся на домашнюю страницу. Поэтому я попытался сохранить сеанс в БД, используя следующий код.

Configure::write('Session', array(
'defaults' => 'database',
'handler' => array(
'model' => 'cake_sessions'
)
));

Но он использовался для хранения данных сеанса, когда администратор выходил из системы. Я пытался настроить Интерфейс обработчика тортов его не удается.

Как перенести сессию и кеш в базу данных.

0

Решение

Я не знаю о балансировщике нагрузки, но вы можете обрабатывать свои сеансы несколькими способами, включая использование баз данных.

И это стандартная конфигурация CakePHP для использования базы данных для сеансов.

Сначала создайте эту таблицу:

CREATE TABLE `cake_sessions` (
`id` varchar(255) NOT NULL DEFAULT '',
`data` text,
`expires` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
);

Затем настройте ваши сессии в app / core.php

Configure::write('Session', array(
'database' => array(
'cookie' => 'CAKEPHP',
'timeout' => 240,
'ini' => array(
'session.use_trans_sid' => 0,
'url_rewriter.tags' => '',
'session.use_cookies' => 1,
'session.cookie_path' => static::$path,
'session.save_handler' => 'user',
'session.serialize_handler' => 'php',
),
'handler' => array(
'engine' => 'DatabaseSession',
'model' => 'Session'
)
)
));
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]