session 是否仅在您每次使用 session_start();
访问页面时保持事件状态,还是其他页面也保持事件状态?
示例(30 分钟超时):
1
user accesses page with session_start();
25 mins later they access another session_start();
page session stays alive
2
user accesses page with session_start();
25 mins later they access a non-session_start(); page
session stays alive
2也是真的吗?
最佳答案
每当您访问包含 session_start()
的页面时,您的浏览器中总会设置一个 session cookie。如果网站使用 PHP,cookie 名称将是 PHPSESSID
(尽管名称可以更改)。此 session cookie 包含一个 session ID,可帮助浏览器维护与服务器的 session 。
您可以通过浏览任何有您的 session 的网站手动检查,然后删除您的浏览器 cookie,您的 session 将丢失。
在您的情况下,1 和 2 都是正确的。
2 是正确的,因为用户已经访问了一个包含 session_start()
的页面,并且您的 session ID 将在接下来的 30 分钟内设置,即使您访问的页面是没有 session 。
注意:但是如果您要访问的页面包含session_destroy()
,您的 session 将被销毁。
关于php - 是什么让 php session 保持事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22904216/