我正在尝试理解PHP会话何时超时并强制用户重新登录。
当用户首次成功登录网站时,我设置了一个会话全局变量,如下所示:
$_SESSION['AcmeAuthenticated'] = TRUE;
在我查看的每个其他页面上,我都会在页面顶部查找以下内容:
if (!isset($_SESSION['AcmeAuthenticated']) and $_SESSION['AcmeAuthenticated'] !== TRUE) {
header('Location: index.php');
die;
}
在开发过程中,我注意到我可以一整天保持浏览器开启而不会提示重新登录。但是如果我退出浏览器,它就会提示我重新登录。我检查了PHP信息,session.gc_maxlifetime设置为900 - 我理解为PHP会话将在15分钟后结束?
我对PHP还很陌生,仍在尝试学习会话如何工作以及何时会出现超时。
&&
而不是and
。 - Darren