Все работало нормально на локальном сервере: PHP 5.3.4, MySQL 5.1.49, Apache 2.2.17 и CakePHP 2.0.1.
Но когда я развернул на производственном сервере: PHP 5.3.5, MySQL 5.1.49, Apache 2.?и CakePHP 2.0.1.
... происходит странная ошибка.Действие входа выполнено успешно, так как я могу проверить по моему действию UserController login()
(и я отслеживаю все вызовы стека).Но так же, как он перенаправляет на URL-адрес / admin (то есть путь маршрутизатора к заданному действию), пользователь удаляется из сеанса и просто возвращается в состояние «не зарегистрировано».В сущности, следующее условие if в AuthComponent просто не очень хорошо работает, $this->flash
просто ничего не показывает.
(/ lib / Cake / Controller / Component / AuthComponent.php: строка 315)
if (!$request->is('ajax')) {
$this->flash($this->authError);
$this->Session->write('Auth.redirect', Router::reverse($request));
$controller->redirect($loginAction);
return false;
Я использую компонент Auth / Acl.Я настроил свой ответ на CakePHP 2.0: ACL не работает
Я понятия не имею, что происходит.
РЕДАКТИРОВАТЬ: Этим утромЯ заметил, что: проблема возникает только на удаленном сервере, в Chrome или Opera - для Mac OSX.Я также проверил все это на других машинах, Mac и Windows, и все работает нормально.Это конечно что-то на моей машине.Возможно, некоторые настройки в / etc / hosts.