根据提供的数据确定会话的持续时间可能有点困难。让我们深入研究细节来寻找答案。
在 PHP 中,会话由垃圾收集器 (GC) 管理。 session.gc_maxlifetime 参数指定自上次会话数据更改后将其标记为删除之前的最长时间。但是,有一个问题:每次调用 session_start 时都不会调用 GC。
session.gc_probability 和 session.gc_divisor 参数确定在 session_start 调用期间触发 GC 的概率。默认情况下,这些值分别为 1 和 100,这意味着 GC 仅在大约 1% 的此类调用中运行。
事实上 GC 并不始终调用意味着,即使会话的生命周期在技术上已过期(即会话数据在 session.gc_maxlifetime 秒前发生更改),它仍然可以使用更长的时间。
由于这种行为,通常建议实现自己的会话超时机制,而不是仅仅依赖 PHP 的 GC。这可以帮助确保会话在预定的时间内终止。
以上是PHP 会话实际上持续多长时间?的详细内容。更多信息请关注PHP中文网其他相关文章!