ThinkPHP5 session配置过期时间不生效的问题
2023-03-29 23:03:03
279
{{single.collect_count}}

 公司美国站需要加入记住我的功能,登录后长时间保持状态

'session'=> ['id' => '',// SESSION_ID的提交变量,解决flash上传跨域'var_session_id' => '',// SESSION 前缀'prefix' => 'think',// 驱动方式 支持redis memcache memcached'type' => '',// 是否自动开启 SESSION'auto_start' => true,//30天有效期'expire' => 3600*24*30,],

多次测试,发现这个session的过期时间设置并没有生效,服务器环境的相关配置也检查过,并没有什么问题。

 

网上也没找到合适的解决方法,困扰。。。

 

后面尝试下更改session的存放路径,由原来默认的服务器环境temp目录,更改成保存在tp5项目的runtime/temp目录中:

'session'=> ['id' => '',// SESSION_ID的提交变量,解决flash上传跨域'var_session_id' => '',// SESSION 前缀'prefix' => 'think',// 驱动方式 支持redis memcache memcached'type' => '',// 默认时间过期不能控制,改为项目内存储'path' => TEMP_PATH,// 是否自动开启 SESSION'auto_start' => true,//30天有效期'expire' => 3600*24*30,],

经过测试,问题解决。可能是session放在公共的temp销毁机制问题。

 

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}