php - 如果 PHP session 在请求中间超时,$_SESSION 数组会发生什么情况?

标签 php session session-timeout

我一直在想,如果PHP session 在执行脚本的过程中超时,那么$_SESSION数组中的内容是否仍然可用,直到脚本执行结束?例如:

session_start();

if(! isset($_SESSION['name'])) {
    echo 'Name is not set';
    exit;
}

// imagine there is a bunch of code here and that the session times out while
// this code is being executed

echo 'Name is ', $_SESSION['name']; // will this line throw an error?

将 session 变量复制到本地范围是否可行,以便我稍后可以在脚本中读取它们而不必继续检查 session 超时?像这样的东西:

session_start();

if(isset($_SESSION['name'])) {
    $name = $_SESSION['name'];
} else {
    echo 'Name is not set';
    exit;
}

// bunch of code here

echo 'Name is ', $name;

最佳答案

不用担心这些事情。 session 不会发生任何事情。它由 sessioni_start() 初始化,并且 $_SESSION 将始终在您的脚本中可用。

关于php - 如果 PHP session 在请求中间超时,$_SESSION 数组会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1002935/

相关文章:

php - 如何在下拉列表中显示选中的项目名称?

php - 如何判断一个请求是不是ajax请求?

php - 按输入类型 ="file"将表从 xls 文件插入数据库

session - 在coldfusion中,什么范围内的变量可以传递到iframe页面?

php - 如何设置 session 的生命周期

asp.net - 在 SQLServer 作为 sessionState 模式的 ASP.NET 中,如何处理 session 对象超时?

java - 如何检查 JSF 页面中是否存在 Activity session ?

java - Springboot应用程序 session 超时

php - 向购物车申请 20% 的折扣,上限为上限

php - 在 session 之间切换