session值无法更新 保存失败

wuuyun

问题描述

都是最新版

访问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']);
    }

}
255 1 0
1个回答

wangerwu

你尝试下清空浏览器的cookie再访问,看看是否会下发sessionid

  • wuuyun 2025-07-13

    是自己代码的问题 哈哈哈 , 现在可以了

  • aria 2025-07-14

    最烦你这类人,自己的代码问题你至少也说明是写错在哪里,后来人也避免踩坑吧?问的时候最积极,答案却一个人藏起来。

  • muyu 2025-07-14

    没错,很多后来者遇到问题好不容易翻到和自己相同的问题,结果答案就一个:已解决~

  • aria 2025-07-14

    大意了,没看明白就评论了,

  • wuuyun 2025-07-15

    我以为是控制器哪里的问题,但是后来发现是有个中间件代码问题,提前有异常抛出了

🔝