如果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