gpt4 book ai didi

php - 尽管进行了设置,laravel session 仍返回 null

转载 作者:搜寻专家 更新时间:2023-10-31 22:10:11 24 4
gpt4 key购买 nike

原生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 session ,

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" 放入 abc 键中并按预期返回 bool(true)。

但是在随后的访问中,Session::get('abc') 每次都返回 null。 所以每次尝试都返回 bool(真的)。

我假设可能是 session 没有正确写入,所以我检查了设置后是否正确获取键值。

通过注释掉上面代码中的行,它返回我在 Session::put('abc') 中输入的任何值。 所以写入数据没有错误。

问题 这里试图检索值总是返回 null 尽管我在第一个请求之后设置。

我是不是漏掉了什么?


编辑

使用数据库作为驱动程序, session 不会保存在数据库中。没有错误输出。如文档中所述,数据库实现已正确使用 session 表架构。

最佳答案

试试这个片段。未经测试,但很确定它有效。

if(Session::has('abc'))
{
return Session::get('abc');
} else {
Session::put('abc', 'some value');
return true;
}

关于php - 尽管进行了设置,laravel session 仍返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13760900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com