Я в процессе обновления нашего проекта от Centos-6/Apache 2.0/PHP5.3/Cake 2.0/File Cache (6/3/2/0/F) в Centos-7/Apache 2.4/PHP5.6/Cake 2.6/Redis Cache & Сессия (7/6/4/6/R).CakePHP 2.6, Redis сеанс/кеш уничтожается при перенаправлении
Обновление работает отлично и по назначению, если я оставлю 7/6/4/6/R с кешированием файлов и сеансами php. Но я установил Redis, следуя нескольким учебным пособиям, и все работает по принципу PHP 5.6, признавая Redis, CakePHP получает 18 на 18 проходов тестов в test.php, но Redis Sessions уничтожаются в Redirects.
core.php
//Replaces standard
Configure::write('Session', array(
'defaults' => 'cache',
'timeout' => '100',
'start' => true,
'checkAgent' => false,
'handler' => array(
'config' => 'session'
)
));
//Engine
$engine = 'Redis';
//Bottom of Core
Cache::config ('session', array (
'Engine' => $engine,
'Prefix' => $prefix . 'cake_session_',
'Duration' => $duration
));
Bootstrap.php
Cache::config('default', array('engine' => 'Redis'));
AppController.php
public $components = array(
'Session',
'Auth' => array(
'loginRedirect'=>array('controller' => 'companies', 'action' => 'view'),
'logoutRedirect'=>array('controller' => 'users', 'action' => 'login'),
'loginAction'=>array('controller' => 'users', 'action' => 'login'),
'authenticate' => array(
'Form' => array(
'userModel' => 'User',
'fields' => array('username' => 'email', 'password' => 'password')
)
)
));
UsersController.php - Войти Функция - C & P'd из блога, например
if ($this->request->is('post')) {
if ($this->Auth->login()) {
//print_r($_SESSION);die();
return $this->redirect($this->Auth->redirectUrl());
}
$this->Session->setFlash(__('Invalid username or password, try again'));
}
напечатает, предназначенные и весь ключ => значения массива Session. ИДЕАЛЬНО!!! Теперь, если я разрешу перенаправление.
CompaniesController.php
public function view($id = null) {
print_r($_SESSION);
}
Не содержит ключ => значение.