通过查看thinkphp5自带的代码发现没有设置session过期时间的地方。
只是在\thinkphp\library\think\Session.php有
if (isset($config['expire'])) { ini_set('session.gc_maxlifetime', $config['expire']); ini_set('session.cookie_lifetime', $config['expire']); }
设置过期时间。
session.gc_maxlifetime:session的有效生存时间,过了这个时间session将进入销毁队列。
session.cookie_lifetime:值为0代表关闭浏览器,保存在客户端的sessionid将立即失效。
只有在config.php文件里面设置全局session过期时间。
'session' => ['id' => '',
// SESSION_ID的提交变量,解决flash上传跨域
'var_session_id' => '',
// SESSION 前缀
'prefix' => 'WSTMART_',
// 驱动方式 支持redis memcache memcached
'type' => '',
// 是否自动开启 SESSION
'auto_start' => true,
//设置过期时间
'expire' => 1,
],
或者直接通过session创建时间来判断,如果时间超过了规定时间就将session清空