php - 是什么让 php session 保持事件状态?

标签 php session

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/

相关文章:

javascript - 如何确定用户是否仍在使用基于 session 的身份验证登录?

php - 检索 PHP 服务器 session 超时

php - 如何在 Laravel 之外运行 artisan ?

php - Symfony 2 可重用包

PHP mysqlnd/MySQL 版本

node.js - NodeJS - 访问套接字内的 session

php - 登录系统 : Why are sessions needed?

php - PDO: 找不到驱动程序 php/mysql

java - 用 PHP 或 Java 实现大型(1GB 或更多)文件上传网站的最佳方法是什么?

php - 设置 php session (session_set_save_handler)