由用户设置 php 会话超时

brp*_*paz 2 php session timeout

可以在 php 中由用户设置会话超时吗?

示例:2 个用户在我的站点中注册。我希望每个用户都可以设置自己的会话超时。

Gum*_*mbo 5

是的,您可以为每个用户设置自定义会话超时。您可以使用如何在 30 分钟后使 PHP 会话过期?但存储绝对过期时间:

// 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();
}
Run Code Online (Sandbox Code Playgroud)

这里$customSessionLifetime可以为每个用户设置不同的。只需确保其值小于或等于session.gc_maxlifetimesession.cookie_lifetime(如果您使用 cookie 作为会话 ID)。