Как сделать так, чтобы сессия PHP истекала при закрытии браузера ИЛИ через некоторое время - PullRequest
3 голосов
/ 23 сентября 2010

Мой сеанс php истекает, когда пользователь закрывает браузер, но я заметил, что если я оставлю свой браузер открытым в течение продолжительного периода времени (например, 24+ часа), сеанс все равно будет продолжаться.

Есть ли способ, по которому я могу завершить эти сеансы либо при закрытии браузера, либо по истечении некоторого длительного периода времени?

1 Ответ

6 голосов
/ 23 сентября 2010

Решением может быть установка данных через ini_set('session.gc_maxlifetime', <lifetime in seconds>); Конечно, если возможно изменить конфигурацию через PHP. В противном случае вам нужно будет установить правильные значения в вашем php.ini:

ini_set(‘session.gc_maxlifetime’,30);
ini_set(‘session.gc_probability’,1);
ini_set(‘session.gc_divisor’,1);

Другой подход заключается в установке достоверности файла cookie сеанса с помощью:

$expire=24*60*60;
session_set_cookie_params($expire);
session_start();
...