用 session.gc_maxlifetime
设置的话,概率是 gc_probability/gc_divisor
;
不明白为什么要这个规定;这个不明白原理
发现 session 会监视用户是否活动,然后会自动更新 session 文件的最后修改时间。
所以写了一个 function 读取 session 文件的最后修改时间,然后跟现在时间对比,如果大于设定的过期时间,假设是 10 分钟。就清空对应 session 的信息。这样可以吗?
有没有更好的方法?
ps:我是指不活动情况下过期时间
ps:我的问题没有考虑到为每个session的值设独立过期时间问题;
推荐你看看 @Laruence 大神的文章 如何设置一个严格30分钟过期的Session
再附另一篇文章: 深入理解PHP原理之Session Gc的一个小概率Notice