会话仍然返回null



我的项目使用三种不同的服务,现在我永远无法获得会话值,我尝试了laravel网站教程和休耕链接问题:Laravel-会话返回空

但它们都不起作用!

第一次,我使用了这个库:

use Session; 

在控制器class:中

$result = SocketHelper::sendRequest($req);
Session::put('uuid', $result->uuid);
Session::save();
Session::put('userId', $result->userID);
return Redirect::route('login_step_two');

在另一种方法中:

$uuid = Session::get('uuid');
$userId = Session::get('userId');

但是这些是null!我必须用饼干吗?我最近升级到laravel 5.4

请帮帮我!这让我很困惑!

谢谢。

试着这样显式地保存Session,试一下它对我有效,希望你也一样。

Session::put('test_session', 'test message');
Session::save();

然后像这个一样检索

echo Session::get('test_session');

这样忘记吧:

Session::forget('test_session');
Session::save();

我知道空结果是因为我将$request的值发布到另一个模板,并且它被更改为:((!太容易知道了!

您是否已正确升级到laravel 5.4?

Laravel文档会话

Symfony兼容性

Laravel的会话处理程序不再实现Symfony的SessionInterface。实现这个接口需要我们实现框架不需要的无关功能。相反,已经定义了新的IlluminateContractsSessionSession接口,并且可以取而代之地使用该接口。还应应用以下代码更改:

所有对->set((方法的调用都应更改为->put()。通常,Laravel应用程序永远不会调用set方法,因为它从未在Laravel文档中记录过。然而,出于谨慎,此处包含了它。

->getToken()方法的所有调用都应更改为->token()

$request->setSession()方法的所有调用都应更改为setLaravelSession()

您仍然有权在php会话目录中写入会话文件吗?检查session_save_path()返回的路径,检查php用户是否有权在其中写入,还检查目录中是否有文件以及它们的创建日期。

相关内容

  • 没有找到相关文章

最新更新