thinkphp6 session 为什么会失效
2022-11-24 11:10:29
371
{{single.collect_count}}

先来看官网文档下面的评论,我也是遇到同样的问题。

、、

同样按照官网的session配置,但是就是设置不了session的值,runtime 目录里面也没有文件。 

 代码如下:

namespace app\controller\index;use app\BaseController;use think\facade\Session;class Test extends BaseController { public function index(){ $flag = Session::set('key','13213165464');dd($flag); }public function show(){ dd(Session::get('key'));}}

为什么取不到session的值呢,评论区有人说tp6的session 和 php 的session 没有关系,这句话说到了重点,

tp6的框架禁用了超全局变量$_SESSION ,自己写了一套类似 session 的 机制,类似于缓存吧,有不同的

存储驱动,但我使用dd()打印的时候,框架并没有吧我设置的session值写到文件中去,只有使用return 返回

的时候 才能写入到缓存文件.

修改代码:

public function index(){$flag = Session::set('key','13213165464');return $flag;} public function show(){return Session::get('key'); }

这样就可以成功使用session了。

 

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