这更像是一个概念性问题。 但是我想知道使用 PHP 时网络会话何时开始和结束。 我很确定会话在用户首次请求具有 session_start() 函数的任何页面时开始。 但是,当用户导航到同一选项卡中的另一个页面时,会话会结束吗? 同一会话是否保留在同一浏览器的多个选项卡和窗口中? 要在浏览器关闭后保留会话,您是否必须使用 Cookie?
- 会话从第一个
session_start()
开始 - 会话在
session.gc_maxlifetime
和/或session.cookie_lifetime
和/或更多与PHP的会话垃圾收集器有关的事情后结束。 - Cookie 是使用会话所必需的,因为 PHP 设置了一个包含用户 SESSID 的 cookie,并且浏览器会在每次请求时自动将其发回。
- 您可以删除此 Cookie,这会撤销您对会话的访问权限,但从技术上讲,您的会话数据仍然存在,直到超时到期并且垃圾回收器运行。
参考