我的php会话设置为在用户关闭浏览器时过期,但我注意到如果我将浏览器长时间打开(例如24小时以上),会话仍然存在。
有没有办法可以让这些会话在浏览器关闭或延长一段时间后到期?
答案 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();