Управление сессиями (специфично для Zend Framework) - PullRequest
0 голосов
/ 27 октября 2009

Я пытаюсь заставить функцию запомнитьMe () запоминать пользователей и сохранять сессии в течение нескольких месяцев.

Я читал, что если вы передадите значение через RememberMe () , оно не будет работать, если сессия уже была запущена. Из документации session_set_cookie_params () в руководстве по PHP "необходимо вызывать session_set_cookie_params () для каждого запроса и перед вызовом session_start () ". 1013 *

Я звоню Zend_session :: start () в моей начальной загрузке, как я и предполагал. Моя проблема в том, что запомнитьMe () , похоже, не работает.

Когда я звоню session_get_cookie_params (); я получаю:

Array([lifetime] => 0 [path] => / [domain] => [secure] => httponly] =>)

Есть мысли?

Ответы [ 2 ]

1 голос
/ 06 ноября 2009

Я решил проблему. сеансы удалялись другим веб-сайтом на том же сервере, который истекает через каждые 24 минуты. Чтобы это исправить, я установил session.save_path в новую папку. Я также установил для session.gc_maxlifetime и session.cookie_lifetime очень большие числа.

проблема решена!

0 голосов
/ 28 октября 2009

Не используйте метод start (). Это должно работать нормально, если вы используете MVC. Session_start должен быть вызван перед отправкой любого вывода, и это прямо перед отправкой ответа (из-за буфера вывода). Сеанс запускается автоматически при первом использовании пространства Zend_Session_namespace.

...