都是最新版
访问index 应该会种下session吧,但是之后在访问 view 方法时读取的不是最新的session,是第一次的session值 ,这是为啥?
session id都是一致的。
额 ,重新安装webman 测试 正常。现在开始逐步添加自己的代码,看是哪里的问题
最后经过重建系统 一步一步测试 主要原因是在 中间件。如果你也遇到同样问题 检查 session 本身,sessionid 是否一致 业务逻辑 中间件 顺序找bug
我是在排查中间件的时候找到问题的,有个中间件是做拦截的,规则没写好,导致异常的
<?php
namespace app\controller;
use app\model\AdminModel;
use support\Request;
class Index
{
public function index(Request $request)
{
session()->set('username',date('H:i:s'));
return view('welcome');
}
public function view(Request $request)
{
$model = new AdminModel();
$arr = $model->find(1);
return view('index/view', ['name' => 'webman:'.session('username'), 'abc' => AMS_NOW_URL, 'list' => $arr]);
}
public function json(Request $request)
{
return json(['code' => 0, 'msg' => 'ok']);
}
}
你尝试下清空浏览器的cookie再访问,看看是否会下发sessionid
是自己代码的问题 哈哈哈 , 现在可以了
最烦你这类人,自己的代码问题你至少也说明是写错在哪里,后来人也避免踩坑吧?问的时候最积极,答案却一个人藏起来。
没错,很多后来者遇到问题好不容易翻到和自己相同的问题,结果答案就一个:已解决~
大意了,没看明白就评论了,
我以为是控制器哪里的问题,但是后来发现是有个中间件代码问题,提前有异常抛出了