php的session问题总结

1.

看文档发现,在session的configure option中有三个关于gc的,分别是: 

session.gc_probability "1" PHP_INI_ALL 
session.gc_divisor "100" PHP_INI_ALL Available since PHP 4.3.2. 
session.gc_maxlifetime "1440" PHP_INI_ALL 

那么gc是什么? 

gc, 是garbage collection 的简称.这个进程一般都跟着每起一个SESSION而开始运行的.gc目的是为了在session文件过期以后自动销毁删除这些文件. 大家应该猜到三个参数的大致用处了吧? 

1、session_gc_probaility 

PHP默认不是每个SESSION启动都会启动一个GC来跟踪。这个参数是控制gc跟session启动概率。默认 1。值越大,概率越大。 

2、session.gc_divisor 

功能同上。 默认100。值越小,概率越大。 

3、session.gc_maxlifetime 

超过设定时间,gc就认为是垃圾文件。 

总结 
session_gc_probaility和session.gc_divisor是一对控制gc启动的概率的两个参数。前者是分子,后者是分母。默认是1/100。 1%的几率。 也就是说100个请求中只有一个gc会伴随100个中的某个请求而启动。 


只有session.cookie_lifetime 控制SESSIOn的过期时间,session.gc_maxlifetime 貌似没什么大用;   但是最好好事使session.cookie_lifetime和session.gc_maxlifetime的值保持一致

posted @ 2013-11-15 14:35  joy696163  阅读(311)  评论(0编辑  收藏  举报