CakePHP(或只是PHP)获取会话持续时间

CakePHP(或只是PHP)获取会话持续时间,php,cakephp,session-timeout,Php,Cakephp,Session Timeout,有没有办法获取用户会话的持续时间 如果用户登录,我可以节省初始时间。如果他退出,我可以得到最后的时间并计算会话的持续时间 如果用户没有注销,会话刚刚过期怎么办?有没有办法知道这种情况是否/何时发生 无法知道会话是否仍处于活动状态,因此您最好将会话的开始时间保存在您的数据库和每个请求日志中上次请求时间 这样,您就可以知道会话的开始时间和“可能”结束时间 通过使用LAST\u REQUEST\u TIME检查所有会话,您还可以知道当前有多少活动会话。不,不是真的。HTTP是无会话的。那些真正想要更细

有没有办法获取用户会话的持续时间

如果用户登录,我可以节省初始时间。如果他退出,我可以得到最后的时间并计算会话的持续时间


如果用户没有注销,会话刚刚过期怎么办?有没有办法知道这种情况是否/何时发生

无法知道会话是否仍处于活动状态,因此您最好将
会话的开始时间
保存在您的数据库和每个请求日志中
上次请求时间

这样,您就可以知道会话的开始时间和“可能”结束时间


通过使用
LAST\u REQUEST\u TIME检查所有会话,您还可以知道当前有多少活动会话。不,不是真的。HTTP是无会话的。那些真正想要更细粒度的活动用户概念的人会经常使用某种心跳技术,这种技术可以创建持久连接,或者使用轮询、ajax、flash电影或WebSocket来模拟连接


PHP会话实际上更像是一种机制,用于将一些临时服务器端存储与特定的客户端/浏览器实例链接起来,尽管有些人可能会读入名称中

“有没有办法知道这种情况是否发生/何时发生?”---如果你有一个自定义会话处理程序+1,我正要发布相同的答案。我建议使用time()以Unix时间戳格式存储所有时间。这使得使用php进行计算更加容易。