傅令江的光影色彩世界
thinkphp6 session 为什么会失效
2021-12-6 傅令江

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


同样按照官网的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了。


坑多坑多就是坑多,先检查文件夹权限,再检查程序

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容