Apache会话在同一台服务器上的工作方式不同


Apache session works differently on the same server

情况是,我们有一台本地服务器机器,上面有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)。

(强调矿)