Сохранение переменных сеанса в базе данных по истечении срока сеанса - PullRequest
3 голосов
/ 17 февраля 2011

Мне интересно, возможно ли сохранить данные сеанса в базе данных или в файле по истечении сеанса.Например, когда у меня есть объект, живущий в моем сеансе, будет ли вызываться деструктор по истечении сеанса?

В основном вопрос заключается в том, как PHP обрабатывает сеансы, когда они истекают.

Спасибо за вашпомощь!

Ответы [ 2 ]

2 голосов
/ 17 февраля 2011

Похоже, что вы можете использовать функцию session_set_save_handler для определения обратного вызова, который вызывается всякий раз, когда сеанс уничтожается.

В качестве примечания я хотел бы задать вопрос, действительно лихорошо сохранять данные по истечении времени сеанса, а не просто сохранять их во время сеанса.

0 голосов
/ 17 февраля 2011

Чтобы изменить максимальное время жизни для сессии, попробуйте это:

ini_set("session.gc_maxlifetime", "18000");

Это установит время жизни до 5 часов. Вы должны использовать это в каждом сценарии, для которого вы хотите изменить время жизни по умолчанию.

Чтобы получить время жизни сеанса:

echo ini_get("session.gc_maxlifetime");
...