| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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), при наличии соответствующих расширений. |