初期在做不同项目的单点登陆时,看到server的tmp目录下有很多的sess_xxxxxxxxxxxxxxxx文件,发现每次新打开浏览器都会新生产一个新文件,对于一个强迫症患者来说这是一个很烦的东西。
尝试定时删除,但对于正在生效的session会存在误删的操作。
百度了一番之后,发现php对于自身的垃圾回收做的挺好,简单配置如下:
找到php.ini文件,
session.gc_probability = 1 session.gc_divisor = 100 session.gc_maxlifetime = 1440
这三个配置组合构建服务端session的垃圾回收机制
稍微解释一下:
session.gc_maxlifetime 定义了session 生命周期,默认是1440秒即24分钟。超过24分钟后php标识它是死亡状态,但是有可能浏览器还在生效。
session.gc_probability与session.gc_divisor构成执行session清理的概率
清理的概率为:gc_probability/gc_divisor
比如:1/100 表示每一个新会话初始化时,有1%的概率会启动垃圾回收程序,删除那些标识为死亡状态的session。
另外:
修改了ini文件后,不要忘记了重启apache服务器哦。
cd /opt/lampp ./xampp stopapache ./xampp startapache