可以在php中用户设置会话超时吗?
示例:我的网站注册了2个用户。我希望每个用户都可以设置自己的会话超时。
答案 0 :(得分:4)
是的,您可以为每个用户设置自定义会话超时。您可以使用How do I expire a PHP session after 30 minutes?中描述的方法,但存储绝对到期时间:
// set expiration time
$_SESSION['EXPIRES'] = time() + $customSessionLifetime;
// validate session
if (isset($_SESSION['EXPIRES']) && (time() < $_SESSION['EXPIRES'])) {
// session still valid; update expiration time
$_SESSION['EXPIRES'] = time() + $customSessionLifetime;
} else {
// session invalid or expired
session_destroy();
session_unset();
}
此处$customSessionLifetime
可以为每个用户设置不同的。只需确保其值小于或等于 session.gc_maxlifetime 和 session.cookie_lifetime (如果您使用Cookie作为会话ID)。