2

如果在服务器上创建了 PHP 会话,最好的搜索方法是什么?

例如,将名称 Joe 存储在会话中的某处,然后在 Joe 关闭他的浏览器后,如果 Joe 的会话仍然存在于服务器上(即尚未过期) ,我是否可以查找(在我计算机上其他地方的 php 脚本中)?

4

2 回答 2

4

会话数据通常存储在服务器的临时目录(session.save_path设置)中。

虽然理论上可以搜索该目录,检查每个会话文件,打开它,然后查看它是否是 Joe 的会话,但这不是一个干净的方法,并且有很多方法可以破坏它 - 例如,如果服务器没有' t 为您提供临时目录中的文件列表。或者如果用户有多个同时活动的会话怎么办?

如果你真的需要这个,你可能应该创建一个自定义会话处理程序,将其数据存储在它自己的目录或数据库中。对于该自定义处理程序,您可以实现一个接口,该接口允许您查询某个用户是否已登录,或者是否存在特定会话。

于 2013-05-25T07:08:28.460 回答
2

在服务器中,使用指令 session.save_path 检查设置为在 php 中存储会话的路径

然后尝试使用 session_decode() 方法解码其中的文件

更多信息可以在下面的链接中找到

会话文件的位置

读取会话数据

于 2013-05-25T06:27:36.723 回答