在PHP中访问活动会话

G__*_*G__ 15 php session

如何获取服务器上所有活动PHP会话的列表并从一个用户的实例中访问它们?

激励案例是显示网站上所有当前活动用户的列表,其中用户名存储在每个用户的PHP会话中.

注意:我知道我可以通过数据库(甚至文件系统)创建自己的状态,但我正在寻找一种利用内置PHP会话机制的方法.

Art*_*cto 8

看到答案,尽管有可能,但这并不意味着你应该这样做.存储会话的格式没有记录,可能随时更改(即使在次要版本之间).

执行此操作的正确方法是实现自己的会话处理程序.真的,这并不难.


Ala*_*air 7

会议列表

<?php
print_r(scandir(session_save_path()));
?>
Run Code Online (Sandbox Code Playgroud)

检查特定会话

<?php
session_start();
echo (file_exists(session_save_path().'/sess_'.session_id()) ? 1 : 0);
?>
Run Code Online (Sandbox Code Playgroud)

时间会话文件上次更改

<?php
session_start();
echo filectime(session_save_path().'/sess_'.session_id());
?>
Run Code Online (Sandbox Code Playgroud)

正如已经完成的死亡一样,以这种方式处理会话并不是最佳实践,但如果需要,那些将无需检查/修改会话存储路径即可工作(如果您切换到另一台服务器,则非常有用)不同的配置).