有什么方法可以获取用户会话的持续时间?
如果用户登录,我可以节省初始时间。如果他注销,我可以得到最后的时间并计算会话的持续时间。
如果用户没有注销并且会话刚刚过期怎么办?有什么方法可以知道是否/何时发生这种情况?
有什么方法可以获取用户会话的持续时间?
如果用户登录,我可以节省初始时间。如果他注销,我可以得到最后的时间并计算会话的持续时间。
如果用户没有注销并且会话刚刚过期怎么办?有什么方法可以知道是否/何时发生这种情况?
无法知道会话是否仍处于活动状态,因此您可以做的最好的事情是SESSION_START_TIME
在您的数据库和每个请求日志上保存一个LAST_REQUEST_TIME
.
这样您就知道会话的开始时间和“可能”结束时间。
您还可以通过使用...检查所有会话来了解现在有多少活动会话,LAST_REQUEST_TIME<5minutes
因此这不是一个糟糕的解决方案。
不,不是。HTTP 会话较少。真正想要更细致地了解活跃用户的人会经常使用某种心跳技术,它创建一个持久连接或通过轮询、使用 ajax、flash 电影或 websockets 来模拟它。
PHP 会话实际上更像是一种将一些临时服务器端存储与特定客户端/浏览器实例链接起来的机制,尽管有些人可能会读入名称。