【问题标题】:set php session timeout by user按用户设置 php 会话超时
【发布时间】:2011-06-03 12:46:46
【问题描述】:

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

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

【问题讨论】:

标签: php session timeout


【解决方案1】:

是的,您可以为每个用户设置自定义会话超时。您可以使用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_maxlifetimesession.cookie_lifetime(如果您使用 cookie 作为会话 ID)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多