如何让PHP会话在浏览器关闭或某段延长的时间内到期

时间:2010-09-23 12:11:03

标签: php session session-timeout

我的php会话设置为在用户关闭浏览器时过期,但我注意到如果我将浏览器长时间打开(例如24小时以上),会话仍然存在。

有没有办法可以让这些会话在浏览器关闭或延长一段时间后到期?

1 个答案:

答案 0 :(得分:6)

解决方案可能是通过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();