列出使用活动会话的php帐户的当前登录用户

列出使用活动会话的php帐户的当前登录用户,php,session,session-state,Php,Session,Session State,我想让帐户用户能够在php中查看当前登录的所有用户(活动会话)。我们正在memcached中存储会话,并存储以下数据: $_SESSION['account_id'] = 'act_KFrNGynOAlyHJfA4w0xq'; $_SESSION['user_id'] = 'usr_H4Jwm9VyppgSsT4dsEfM'; $_SESSION['log_in_timestamp'] = time(); 不清楚的是,如何从memcached获取给定帐户的所有活动用户会话?据我所知,ssid是

我想让帐户用户能够在php中查看当前登录的所有用户(活动会话)。我们正在memcached中存储会话,并存储以下数据:

$_SESSION['account_id'] = 'act_KFrNGynOAlyHJfA4w0xq';
$_SESSION['user_id'] = 'usr_H4Jwm9VyppgSsT4dsEfM';
$_SESSION['log_in_timestamp'] = time();

不清楚的是,如何从memcached获取给定帐户的所有活动用户会话?据我所知,ssid是随机的,没有任何形式的组织。

据我所知,ssid是随机的,我会避免尝试识别这样的会话

相反,我将分别存储每个用户最后一次请求的时间戳(每个用户最后一次看到的时间是什么时候)

然后,要显示活动用户列表,您将只选择最近有请求(最近看到)的用户,例如,在最近30秒内


如果在数据库中存储这些数据对您不起作用,您可以找到缓存数据的方法。

您不能。即使可以,也无法在会话之间自由切换以查看会话与哪个用户关联。在发送头之前,即第一次输出之前,您只能切换到另一个会话。这是一种方法,但我希望允许用户同时终止登录会话,这需要知道SSID,对吗?我认为终止特定用户的会话是一个有点不同的问题。我不会再次尝试更改会话,而是为每个请求添加一个额外的验证步骤,看看用户是否被强制注销。你认为这对你的项目有用吗?