Php Laravel 8.x会话消失
我有一个新安装的laravel应用程序(版本8.36.2),会话存储不工作,这是发行版问题吗 我根据laravel文档一步一步地编写代码,如果我打开一条新路由,存储的会话将丢失。例如: 我的基地控制器:Php Laravel 8.x会话消失,php,laravel,session,Php,Laravel,Session,我有一个新安装的laravel应用程序(版本8.36.2),会话存储不工作,这是发行版问题吗 我根据laravel文档一步一步地编写代码,如果我打开一条新路由,存储的会话将丢失。例如: 我的基地控制器: public function setSession(Request $req) { $req->session()->put('name', 'Jennifer'); echo "Saved"; }
public function setSession(Request $req)
{
$req->session()->put('name', 'Jennifer');
echo "Saved";
}
public function getSession(Request $req)
{
if ($req->session()->has('name')) {
echo $req->session()->get('name');
} else {
echo "Empty the session";
}
}
My web.php
Route::get('set-session', [LoginController::class, 'setSession'])->name('session.set');
Route::get('get-session', [LoginController::class, 'getSession'])->name('session.get');
存储正在工作,因此如果我在setSession()之后添加会话,我可以看到name属性,但是,如果打开/get会话路由,name会话属性为null
我还尝试了会话(['name'=>Jennifer])外观,但它也不起作用
有人能帮我吗,为什么?我创建了一个新的laravel项目,复制并粘贴了您的代码,它工作正常,我在访问get-session时看到了“Jennifer”。很高兴听到这个消息。谢谢你,你试试看。根据他们的说法,我电脑上的某些环境设置肯定是错误的。我将继续调查,因为身份验证也不起作用。试试这个:不幸的是,它不起作用。我认为问题在于,每次请求时都会在storage/framework/sessions下生成新的会话文件。因此,如果我刷新/get会话页面5次,就会出现5个不同的会话文件。这不是正常的操作,对吗?我终于发现问题了。在session.php上,域必须为NULL或与APP_URL不同,因为如果存在相同的域,则会话不起作用。非常感谢您的支持。