CI生成的过期的session文件如果处理的?
本来是用其他存储驱动的,但是系统小,官方建议用files如图,CI生成的session文件为何不能自动删除?
http://codeigniter.org.cn/forums/data/attachment/album/201611/25/125014fwv7x40ggu7hyzv7.png
文档中 sess_regenerate_destroy配置 不起作用吗?
sess_regenerate_destroyFALSETRUE/FALSE (boolean)当自动重新生成 session ID 时,是否销毁老的 session ID 对应的数据如果设置为 FALSE ,数据之后将自动被垃圾回收器删除
还是自己需要些程序处理这些过期文件?
希望大家来交流下,你们都是怎么处理这个的?
CI 3 的 Session 是 PHP 原生 Session,所以 Session 的回收是 PHP 来处理的,具体可以参考 PHP 文档。 默认情况下,每一次php请求,就会有1/100的概率发生回收,所以可能简单的理解为“每100次php请求就有一次回收发生”。这个概率是通过以下参数控制的
?
1
2
3
#概率是gc_probability/gc_divisor
session.gc_probability = 1
session.gc_divisor = 100
假设这种情况gc_maxlifetime=120,如果某个session文件最后修改时间是120秒之前,那么在下一次回收(1/100的概率)发生前,这个session仍然是有效的。
如果你的session使用session.save_path中使用别的地方保存session,session回收机制有可能不会自动处理过期session文件。这时需要定时手动(或者crontab)的删除过期的session
页:
[1]