[top-think/think]如何设置某个session的过期时间

2023-12-27 170 views
6

比如说,我用session助手函数设置 session('user','zhangsan'); 如何设置这个user会话的过期时间呢?

回答

9

我看cookie助手函数可以直接设置过期时间的 cookie('user', 'zhangsan', 10);

2

是不是在配置文件里设置呢: 'session' => [ 'id' => '', // SESSION_ID的提交变量,解决flash上传跨域 'var_session_id' => '', // SESSION 前缀 'prefix' => 'think', // 驱动方式 支持redis memcache memcached 'type' => '', // 是否自动开启 SESSION 'auto_start' => true, //设置过期时间 expire => 3000, ],

8

会话的过期时间是统一配置的 不是单个设置的

6
    if (isset($config['expire'])) {
        ini_set('session.gc_maxlifetime', $config['expire']);
        ini_set('session.cookie_lifetime', $config['expire']);
    }

这两句代码 清楚的写了 expire 设置的是 无请求情况下 session 的存活时间 就是 session_id的过期时间 即时cookie的session_id还存在会话信息已经失效了 所以 你要对某些变量做会话保持 建议使用redis memcache 或者 直接设置到cookie里面就可以了

1

在哪里设置呢?

1

@376385450 我目前就是在cookie里设置了

3

@liu21st ,在哪里设置呢?