首页 > 解决方案 > PHP 查询非活动分钟数计入会话超时

问题描述

有很多关于如何检测 PHP 会话是否已经过期的信息。引用许多写得很好的文章之一:

session.gc_maxlifetime PHP.ini 指令控制会话在被视为垃圾并被清理之前允许存在多长时间。每次调用 session_start() 函数都有机会触发垃圾收集例程。资源

但是有什么方法可以查询不活动计时器的位置吗?

当然,我可以设置自己的不活动跟踪器,但是由于服务器已经在跟踪该号码,有什么方法可以检查吗?

注意:我寻求一种适用于共享主机 CPANEL 帐户的方法。

标签: php

解决方案


不太确定这是否是您要问的,但应该可以:

  1. 检查值session.gc_maxlifetime
  2. 检查filemtime()会话文件
  3. 从当前时间戳中减去第 2 步,希望它小于第 1 步

唯一的问题是,如果会话被读取而不被修改,那么时间戳将保持不变,除非您禁用session.lazy-write.


推荐阅读