webman session 是否有bug

bigman

写了2个控制器,一个控制器set session rand(1000,9999)
另一个控制器去读取,结果多次刷新执行 set seesion的控制器,结果session值有时候会变有时候不变,不是每次都生效(无论是选择file或者redis存储),是否是bug?

2090 2 0
2个回答

six

我这测试没有问题。
是不是你业务逻辑搞错了?

测试代码:

<?php
namespace app\controller;
use support\Request;
class Index2
{
    public function index(Request $request)
    {
        $request->session()->set('rand', rand(1000, 9999));
        return response('set');
    }
}
<?php
namespace app\controller;
use support\Request;
class Index
{
    public function index(Request $request)
    {
        return response($request->session()->get('rand'));
    }
}
  • bigman 2020-11-04

    奇怪了,我再看看

  • bigman 2020-11-04

    而且如果用文件作为session存储的话,webman服务开启后 把session文件删除后 我这边好像不能再生成文件

  • xiuwang 2020-11-05

    我 测试可以再生成

  • bigman 2020-11-05

    @1459:已找到原因 $this->session = $request->session() session是在销毁时被保存,我用了类的内部变量导致$this->session不被及时销毁产生的bug

  • bigman 2020-11-05

    @1459:谢谢

JustForFun

不知道你的有时是多高频率,日志记录一下设置的值看看就知道

  • bigman 2020-11-04

    值是有的 但是没变化

  • JustForFun 2020-11-04

    @1412:贴代码和日志啊哥

  • bigman 2020-11-05

    @7304:已找到原因 $this->session = $request->session() session是在销毁时被保存,我用了类的内部变量导致$this->session不被及时销毁产生的bug

  • bigman 2020-11-05

    @1412:谢谢!

年代过于久远,无法发表回答
🔝