0

在 Laravel 5.8 中会话不起作用。

.env 设置: SESSION_DRIVER=file

控制器文件index()功能:

$request->session()->put('prediction','xyz');

我首先设置会话,然后尝试将其用于show()控制​​器中的其他功能。

echo $request->session()->get('prediction');exit;

但这不起作用,它变得空白。

内核.php

<?php

 protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],

    'api' => [
        'throttle:60,1',
        'bindings',
    ],
];
4

2 回答 2

0

根据您的解释,问题似乎与$request. 您似乎没有使用任何依赖注入。所以在文件的顶部,可以添加Requestuse语句( use Illuminate\Http\Request;),在index函数的参数中,可以通过Request $request. 所以完整的东西看起来像public function index(Request $request)

如果您使用了依赖注入但它仍然不起作用,请尝试删除该$request变量。所以结果是session()->put('someKey', 'SomeValue');

于 2019-05-10T11:58:42.820 回答
0

不知道为什么它有时在 Laravel 5.8 中不起作用,但有解决方案在类似情况下它如何为我工作

<?php
    session()->put('login_user' , $user);
    session()->save();

当 .env 文件中的 SESSION_DRIVER=file 和会话文件未相应更新时,会出现问题。

于 2019-05-27T07:46:14.627 回答