情况是,我们有一台本地服务器机器,上面有Apache,两个项目在同一个本地服务器上。
问题是,当我们设置session.gc_maxlifetime=10时,例如,服务器在10秒后注销项目N1,成功删除了会话文件,但在另一个项目N2上,会话文件没有删除,会话也没有注销。
session.gc_probability和session.gc_divisor都设置为1。
这可能是什么原因?谢谢
这可能是因为PHP垃圾收集器,可能或在所需的一段时间后不删除会话。参见解释:
http://php.net/manual/en/session.configuration.php#ini.session.gc-最大使用寿命
session.gc_maxlifetime指定此后的秒数数据将被视为"垃圾",并可能被清除。垃圾收集可能发生在会话启动期间(取决于session.gc_probability和session.gc_visor)。
(强调矿)