gpt4 book ai didi

php - PHP session 如何工作? (不是 "how are they used?")

转载 作者:IT老高 更新时间:2023-10-28 11:47:36 24 4
gpt4 key购买 nike

session 文件通常存储在服务器上的 /tmp/ 中,并命名为 sess_{session_id}。我一直在看内容,无法弄清楚它们是如何工作的。

从文件中获取变量名称和内容很容易。但是 PHP 怎么知道哪个 session 属于谁呢?

session_id 似乎完全是随机的,一个 IP 地址可以有多个用户,如果每个用户打开多个浏览器窗口,则可以有多个 session 。

那么它是如何工作的呢?

最佳答案

一般情况下:

  • session ID 在创建 session 时发送给用户。
  • 它存储在 cookie 中(默认情况下称为 PHPSESSID)
  • 浏览器随每个请求将 cookie 发送到服务器
  • 服务器 (PHP) 使用包含 session_id 的 cookie 来了解哪个文件对应于该用户。

sessions文件中的数据是$_SESSION的内容,序列化(即表示为字符串——用serialize等函数表示);并且在 PHP 加载文件时取消序列化,以填充 $_SESSION 数组。


有时, session ID 不存储在 cookie 中,而是通过 URL 发送 - 但现在这种情况很少见。


更多信息,您可以查看Session Handling手册的部分,提供了一些有用的信息。

例如,有一个关于 Passing the Session ID 的页面,它解释了 session ID 如何在页面之间传递,使用 cookie 或在 URL 中 - 以及哪些配置选项会影响这一点。

关于php - PHP session 如何工作? (不是 "how are they used?"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1535697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com