thinkphp6不能设置session以及模板无法获取session的坑附解决办法
2022-11-24 11:10:29
208
{{single.collect_count}}

把系统升级成了6.0发现了之前设置session没有问题,然后再6.0下面就不能使用了经过仔细研究终于找到了原因

1.第一中间件全局必须是开启session 就是在你的app应用目录下面的middleware 里面 hinkmiddlewareSessionInit::class 这句话前面的注释去掉 这是开启了全局的session

2.如果第1步操作了之后不起作用那么第二部更加是大坑了 如果设置了session之后 下面执行的函数里面有die或者exit方法那么session就失效了,如果设置了session之后你打印有但是在其他页面找不到肯定是你的函数里面有die或者exit 这两个函数,

不知道为什么会这样子,不过确实很坑,而且官方文档也没有提及,这是一个大暗坑

3.就是标题所说的通过{$Think.session.xxx}获取不到session这种情况我也不知道是怎么回事在之前的版本都是没有问题的,目前解决的办法就是{:session("xxx")} 在冒号之后就可以执行函数了 目前我也不知道为什么会这样子,

6.0的坑确实比较多,不过还需要慢慢的解决

上面是遇到的几个问题,如果有其他问题请在评论区留言,如果转载请注明,谢谢

回帖
全部回帖({{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 ? '加载中...' : '查看更多评论'}}