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的值保持一致