大家是不是在用PHP的SESSION时,总是会出现不过期的现象.这里我简单介绍下
在PHP中,设置php.ini,找到session.gc_maxlifetime = 1440 (PHP5默认24秒)
这里你可以随便设置一下过期时间.但是有人说设置以后,好象不起作用!
其实不是不起作用,而是因为系统默认:
session.gc_probability = 1
session.gc_divisor = 1000
也就是说,garbage collection 有个概率的,1/1000就是session 1000次才有一次被回收。
只要你的访问量大了,那就能达到回收的效果.要不然你也可以设置一下session.gc_divisor 的值,
比如:session.gc_divisor = 1,这样就能明显的看到SESSION过期的效果了.
或着你换个思路解决session过期的问题
比如:
用session记录个时间,第次访问都检查是否过了你想保留的时间,
超过后,就手动把session注销,