session.gc_maxlifetime
// 启动Session
session_start();
// 设置Session数据
$_SESSION['user_id'] = 123;
$_SESSION['login_time'] = time(); // 记录登录时间
$_SESSION['expire_seconds'] = 3600; // 设置1小时后过期
session_start();
if (!isset($_SESSION['user_id'])) {
// 未登录,跳转到登录页
header('Location: login.php');
exit;
}
$currentTime = time();
$loginTime = $_SESSION['login_time'];
$expireSeconds = $_SESSION['expire_seconds'];
if ($currentTime - $loginTime > $expireSeconds) {
// Session已过期
session_destroy(); // 清除Session
header('Location: login.php?expired=1');
exit;
}
login_time
session_start();
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
$currentTime = time();
$loginTime = $_SESSION['login_time'];
$expireSeconds = $_SESSION['expire_seconds'];
if ($currentTime - $loginTime <= $expireSeconds) {
// Session仍有效,刷新登录时间以延长有效期
$_SESSION['login_time'] = $currentTime;
} else {
// 已过期,销毁并跳转
session_destroy();
header('Location: login.php?expired=1');
exit;
}
session.gc_maxlifetime = 3600
session.cookie_lifetime = 3600
session.gc_probability = 1
session.gc_divisor = 100
