我一直在想,如果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/