只是原生 php 中的一个简单函数
protected function some_function(){
    session_start();
    if(!isset($_SESSION['a']))
    {
        $_SESSION['a'] = 'some value';
        return true;
    } else {
        return $_SESSION['a'];
    }
 }
在第一次运行时,它将返回 bool(true),然后"some value"按预期返回。
将相同的应用于 laravel 会话,
protected function some_function(){ 
    $a = Session::get('abc');
    if(is_null($a)){
        Session::put('abc', 'some value');
        //return Session::get('abc');
        return true;
    } else {
        return $a;
    }
 }
按照逻辑,在第一次运行时, $a 将是null. 然后"some value"输入abckey 并按预期返回 bool(true) 。
但是,在随后的访问中,Session::get('abc') 每次都返回 null。所以每次尝试都会返回 bool(true)。
我认为可能是会话没有正确写入,所以我在设置后立即检查了获取键值。
通过注释掉上面代码中的行,它返回我输入的任何值Session::put('abc')。所以写入数据没有错误。
这里的问题是尝试检索始终返回的值,null尽管我在第一个请求之后设置。
我在这里错过了什么吗?
编辑
使用数据库作为驱动程序,会话不会保存在数据库中。没有错误输出。文档中描述的会话表模式的数据库实现是正确的。