У меня была эта проблема в течение некоторого времени, я точно не знаю, что если это проблема, но я вполне уверен, что это так, срок действия моего сеанса запоминания истекает через 1 неделю, но когда я иду на свой сайт после нескольких часов бездействия мой сеанс «запомнить меня» исчез, я проверяю каталог tmp моего сервера, и плоский файл сеанса исчез, я думаю, что происходит то, что время от времени запускается какой-то сборщик мусора сеанса PHP, но я не хочу, чтобы это удалить эти сеансы, которые должны храниться в течение недели, как изменить это поведение?
Сбор мусора сеанса PHP становится раздражающим, мне нужна помощь, чтобы изменить это поведение
comment
Установите его, используя файл cookie, а не переменную сеанса. Если пользователь закроет свой браузер, он все равно исчезнет.
- person phidah   schedule 27.07.2010
Ответы (1)
Вы путаете две вещи.
- Механизм «запомнить меня» не зависит от сеансов. Он использует файл cookie, в котором хранятся учетные данные, используемые для запуска сеанса. В этом случае вы должны настроить файл cookie так, чтобы он сохранялся в течение одной недели. См. этот ответ.
- Если вы просто хотите продлить время жизни сеансов, вам нужно как продлить время жизни файла cookie сеанса до одной недели, так и отложить сборку мусора. Это делается путем изменения session.gc_maxlifetime.
person
Artefacto
schedule
27.07.2010
Вот довольно хороший предыдущий вопрос о функции "Запомнить меня" и о том, как ее реализовать. а также отдельный файл cookie.
- person Charles; 27.07.2010
Хорошо, если это так, то я вижу файл cookie, установленный php, он говорит, что срок его действия истечет через 7 дней, но даже если файлы cookie сеанса существуют, почему он не инициализирует сеанс снова, я имею в виду у меня есть файл cookie, и он будет оставаться там в течение следующих 7 дней, но когда я захожу на сайт с этим файлом cookie, я все еще пытаюсь войти в систему, .. какие-либо мысли?
- person Abdullah Khan; 27.07.2010
@Charles, о, привет, спасибо, что снова помог, твое последнее объяснение открыло глаза
- person Abdullah Khan; 27.07.2010
@Akay Если этот файл cookie является файлом cookie сеанса, установленным PHP с помощью
session_start
/session_set_cookie_params
, существования самого файла cookie недостаточно, если PHP затем удаляет данные, связанные с сеансом, посредством сборки мусора. Если файл cookie на самом деле является файлом cookie «запомнить меня», вам необходимо вручную прочитать файл cookie и использовать его данные для аутентификации пользователя в новом сеансе.
- person Artefacto; 27.07.2010
О, хорошо, вот и вся история, это круто, я думаю, теперь я могу решить эту проблему, спасибо за вашу помощь @Charles, я проверил ссылку, я нашел ее весьма полезной.
- person Abdullah Khan; 27.07.2010