编程语言
首页 > 编程语言> > 如果PHP会话在请求中间超时,$_SESSION数组会发生什么?

如果PHP会话在请求中间超时,$_SESSION数组会发生什么?

作者:互联网

我一直想知道,如果PHP会话在执行脚本的过程中超时,那么在脚本执行结束之前,$_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_start();

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

// bunch of code here

echo 'Name is ', $name;

解决方法:

不要担心这样的事情.会议什么都不会发生.它由sessioni_start()初始化,$_SESSION将始终在您的脚本中可用.

标签:php,session,session-timeout
来源: https://codeday.me/bug/20190717/1485432.html