PHP多用户会话超时管理

PHP多用户会话超时管理,php,session,multi-user,Php,Session,Multi User,我正在实现一个多用户系统,每个用户都有特定的非活动超时设置 鉴于: ini_set('session.gc_maxlifetime',$Expire); 每次都需要打电话 session_start(); 因此,成功登录后,我使用 $Expire = time() + $Period ; apc_store('Expire', $Expire); 在我使用的每个脚本开头 $Expire = apc_fetch('Expire') - Time() ; 与用户过期设置进行比较 这适用

我正在实现一个多用户系统,每个用户都有特定的非活动超时设置

鉴于:

ini_set('session.gc_maxlifetime',$Expire); 
每次都需要打电话

session_start();
因此,成功登录后,我使用

$Expire = time() + $Period ;
apc_store('Expire', $Expire); 
在我使用的每个脚本开头

$Expire = apc_fetch('Expire') - Time() ; 
与用户过期设置进行比较

这适用于单个用户,但对于多用户,因为一个变量存储过期时间,如果多个用户联机,它将被覆盖 即使为每个用户存储一个变量也不起作用,就像在会话_start()之前一样,我不认识用户


有什么想法吗?

保留他们上次在客户端和服务器上做任何事情的时间。收到信息后,比较时间,看看超时是否已过期。如果它已经做了清理。i、 e.清除会话变量,销毁会话和cookie。我认为“垃圾收集”是一种“红鲱鱼”。Ryan,我已经跟踪了时间,并在超时时终止会话-我相信您提供的解决方案是通过客户端cookie识别用户,但这是一种安全风险