session无法正常存储数据,并且每次刷新都会生成新的session文件
1. 运行环境
WNMP
1). 当前使用的 Laravel 版本?
Laravel Framework 7.30.6
2). 当前使用的 php/php-fpm 版本?
PHP 版本:7.4
php-fpm 版本:74
3). 当前系统
Windows 7
4). 业务环境
生产环境
2. 问题描述?
当我在Index控制器index方法中调用另一个控制器的getList方法时,需要获取上次session存储的值,但每次页面刷新的时候都会跑到if判断中去【session的驱动为file】


每次刷新页面会生成新的session文件,并且获取不到上一次session存储的值,使用request()->session()->save()手动保存依旧无效
(注:每次请求成功后都会将session中nu的值+1并重新存储)
我也尝试过不在__construct()中存取session,单独增加两个方法(getSession,setSession)来存取session的值,可依旧达不到理想的效果
3. 您期望得到的结果?
session可以正常存取
4. 您实际得到的结果?
每次都会进行重新赋值
关于 LearnKu
你是不是前后端分离的项目?
应该没错,把
put之前的输出dump去掉试试,换成 log 调试我没记错的话, 控制器的构造方法中不能使用 session 吧, 因为按照 laravel 的生命周期,匹配到路由的时候控制器就已经被实例化了,这个时候 web 中间件组还没得到执行, 所以你是得不到session 的. 给你一个解决方案吧. 理论可行,手头没测试项目. 请自行测试.