会话文件通常存储在(例如)/tmp/服务器上,并命名为sess_{session_id}。我一直在查看内容,但无法弄清楚它们是如何工作的。
/tmp/
sess_{session_id}
从文件中获取变量名称和内容很容易。但是PHP如何知道哪个会话属于谁?
session_id似乎是完全随机的,一个IP地址可以有多个用户,并且每个用户打开多个浏览器窗口时可以有多个会话。
那么它是怎样工作的?
在一般情况下:
PHPSESSID
会话文件中的数据是被$_SESSION序列化的内容 (即表示为字符串-具有诸如 serialize的功能);并且在PHP加载文件时未序列化以填充$_SESSION数组。
$_SESSION
有时,会话ID不会存储在Cookie中,而是也会通过URL发送-但这在当今非常罕见。