Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Сессии "умирают" слишком быстро


Автор: php_reader 14.2.2008, 18:05
1. Пытаюсь написать маленькую админку. Сделал авторизацию через сессии. Если все ок, то перенаправление через header("Location: fail.php"), через некоторое время сессии слетают. Проблема в session.gc_maxlifetime? Или же во время перенаправления надо указывать session_name(), session_id(); header("Location: fail.php?".session_name().'='.session_id()); Блоки хедер часто используются.
2. Вообще какой смысл дописывать к ссылкам session_id(), если в файле куда перенаправляешь, указываем session_start() и все работает.

Автор: Fally 14.2.2008, 18:22
А нафиг session_id() GET'ом передавать? Это нужно только если в php.ini директива session.use_cookies выставлена в no а деректива session.use_transe_sid=yes. А вообще ознакомься с http://phpfaq.ru/sessions материалом.

Автор: GeneralElectric 14.2.2008, 18:26
1. Смотря что имеется в виду под "некоторым временем". Если некоторое время работы с сайтом, то причину надо искать в коде. Если 24 минуты с сайтом не работали, то сессия автоматически завершится.

2. Если в файле куда перенаправляешь, все работает, то смысла нет.

Автор: FlameTH 15.2.2008, 16:37
А еще лучше хранить сессии в базе и самому управлять их продолжительностью.

Автор: Fally 15.2.2008, 17:29
FlameTH, не очень хороший вариант, т.к. при соответствующей нагрузке будет много проблем. В принципе проблема решаема, назначением таблице с сессиями типа HEAP (MEMORY). Также задача решаема хранением данных сессии в разделяемой памяти (shmop, IPC), при наличии соответствующих расширений.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)