【问题标题】:Set session expiry time设置会话到期时间
【发布时间】:2011-02-15 09:48:52
【问题描述】:

如何将整个网站的会话到期时间设置为 10 分钟? 我不能在共享主机上使用php.ini

有没有我可以使用的全局方法?

【问题讨论】:

标签: php session


【解决方案1】:

我不这么认为。

您可以将上次刷新网站的时间戳保存到会话中,并在下次重新加载时将其与当前时间进行比较。

if(isset($_SESSION['expiretime'])) {
    if($_SESSION['expiretime'] < time()) {
        //logged out
    }
    else {
        $_SESSION['expiretime'] = time() + 600;
    }
}
//maybe add some login procedures and than execute the following line
$_SESSION['expiretime'] = time() + 600;

【讨论】:

    【解决方案2】:

    非常棘手的主题,您可以使用以下内容:

    session_set_cookie_params(600);
    

    Witch 实际上设置了 cookie 参数,因此 cookie 会在 10 分钟后过期,当用户发出请求时,浏览器不会发送 phpsessid cookie,因此 php 将发出一个新会话。问题是它不会取消前一个会话,所以前一个会话仍然有效。

    session_set_cookie_params

    【讨论】:

    • session_set_cookie_params() 在给定时间后使所有可用会话过期。但没有人想破坏所有的会话。如果 ppl wnt 到期特定会话但不是全部怎么办??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2014-11-27
    相关资源
    最近更新 更多