PHP项目server端session 文件自动删除

初期在做不同项目的单点登陆时,看到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

  

猜你喜欢

转载自www.cnblogs.com/zhangwensi/p/12766846.html