thinkphp6.0 中session获取不到值
- 环境是本地 LAMP + thinkPHP6.0
- 问题描述:
- 在登录的时候, 使用
session()函数将用户信息写入session, 但是在登录中间件中获取到的值是null - 同事和线上用的都是
WAMP, 就没有问题, 我本地的LAMP是有时候可以获取session, 但有时候不可以, 不可以占多数
- 在登录的时候, 使用
session文件有写入权限, 已经开启了session_start,session并没有前缀- 代码如下:
LoginController.php中的login方法public function login() { $username = $this->request->post('username', '', 'html_in,trim'); $password = $this->request->post('password', '', 'html_in,trim'); $res = AuthService::checkLogin($username, $password); }AuthService.php中的checkLogin方法public static function checkLogin($username, $password) { ... session('admin', $userInfo); return $userInfo; }AuthMiddleware中间件的handle方法
在全局中间件中已经添加了public function handle($request, \Closure $next) { ... $admin = session('admin'); // 在这个位置获取不到值 ... return $next($request); }AuthMiddleware
middleware.phpreturn [ // Session初始化 'think\middleware\SessionInit', \app\admin\http\middleware\AuthMiddleware::class, ]; - 在
LoginController.php中是可以获取到session的, 但是在AuthMiddleware.php中获取不到
- 求各位大哥指点一下

关于 LearnKu
推荐文章: