【问题标题】:How to expire PHP session after 10 minutes of inactivity? [duplicate]如何在 10 分钟不活动后使 PHP 会话过期? [复制]
【发布时间】:2018-06-20 13:13:37
【问题描述】:

我是 php 新手,我正在开发一个 Web 应用程序,其中要求如果 10 分钟内没有用户活动,用户应该自动注销并返回到登录屏幕。如何使用 php 或 javascript 实现此目的?

我目前只是在标题页中使用 session_start()。

【问题讨论】:

    标签: javascript php


    【解决方案1】:

    试试

     ini_set('session.gc_maxlifetime',54000);  
     ini_set('session.gc_probability',1);
     ini_set('session.gc_divisor',1); 
    

    在调用session_start()之前使用它

    或者也试试这个

    将 time() 存储在 $time 变量中。 之后检查条件,如果 $_SESSION['setTime'] 为空或未设置,则将超时值存储到会话中,否则当页面刷新时,新值将分配给 $_SESSION['setTime']。

        $time = time ();
            $setTime = time () + 60;
            if (empty ( $_SESSION ['setTime'] ) || !isset ( $_SESSION ['setTime'] )) {
                $_SESSION ['setTime'] = $setTime;
       }
    

    然后检查当前时间是否大于存储时间。如果它未设置会话。也销毁会话。

    if (time () >= ( int ) $_SESSION ['setTime']) {
       session_unset ();
       session_destroy ();
    }
    

    按照how to expire php session if user is inactive for 15 mins

    【讨论】:

    • 在每个请求上运行 GC 并不是一个好主意,这很容易影响性能。
    • 这也可以在 php.ini 全局更改
    猜你喜欢
    • 2010-10-05
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    相关资源
    最近更新 更多