先来看官网文档下面的评论,我也是遇到同样的问题。
、、
同样按照官网的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了。