浏览模式: 标准 | 列表 2021年08月的文章

ThinkPHP 5.1 设置session过期时间

有一套系统是基于thinkphp5.1系统开发的,用户反馈说总是要重新登录。

用户的系统并不是时刻需要操作,有可能几个小时都不操作页面,那么这就导致用户账号登陆后session到期了就会让用户重新登录。注:用户登录产生的session有效时间会在页面刷新时重新计算,如果session有效期到了则不会重新倒计时而是跳转到登录页面。

thinkphp5.1的session过期机制是如果config文件夹下的session.php配置文件里没有expire配置项,则读取php.ini配置文件的gc_maxlifetime的值(过期时间一般为1440秒也即是24分钟)。

那么解决这个问题:

方法1:修改php.ini文件并重启web服务器,比如改为28800,则表示默认为8小时过期;

如果不方便修改php.ini(比如使用的是虚拟主机)或者是该服务器上还有别的应用也需要基于24分钟的session过期机制,那么采用

方法2:修改config文件夹下的session.php配置文件,添加一个配置项:'expire'=>28800,

完成。