Php 流明请求的会话应用程序(';会话';)为空。重定向不工作

Php 流明请求的会话应用程序(';会话';)为空。重定向不工作,php,laravel,session,lumen,Php,Laravel,Session,Lumen,在流明控制器上采用以下存储方法时 public function store(Request $request, JwtToken $jwtToken, Redirector $redirector) { $sessionData = $request->session()->all(); $this->validate($request, [ 'username' => 'required', 'password' =&g

在流明控制器上采用以下存储方法时

public function store(Request $request, JwtToken $jwtToken, Redirector $redirector)
{
    $sessionData = $request->session()->all();
    $this->validate($request, [
        'username' => 'required',
        'password' => 'required'
    ]);
}
在$sessionData中,会话中的所有数据都存在,包括上一个url。当通过默认验证器时,它调用
app('session')->previousUrl()
,返回
null

$request->session()
上执行相同操作时,它会出现。我不知道我是否弄错了什么,或者这是流明中的一个错误


我试过Redis和文件驱动程序

您在
引导/app.php上忘记了这一点:

/*
|--------------------------------------------------------------------------
| Register Middleware
|--------------------------------------------------------------------------
|
| Next, we will register the middleware with the application. These can
| be global middleware that run before and after each request into a
| route or middleware that'll be assigned to some specific routes.
|
*/

$app->middleware([
    Illuminate\Cookie\Middleware\EncryptCookies::class,
    Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
    Illuminate\Session\Middleware\StartSession::class,
    Illuminate\View\Middleware\ShareErrorsFromSession::class,
    Laravel\Lumen\Http\Middleware\VerifyCsrfToken::class,
]);

似乎是通过执行以下操作修复了流明中的错误

public function store(Request $request, JwtToken $jwtToken)
{
    $sessionData = $request->session()->all();
    $this->validate($request, [
        'username' => 'required',
        'password' => 'required'
    ]);

    //use global redirect helper function
}

删除了重定向器引用并使用了全局帮助器功能

您可能需要发布有关设置的更多信息,因为在Lumen的干净安装上进行快速测试效果很好,并且存在以前的URL,使用您描述的两种会话访问方法。@Bogdan我发现向该方法添加重定向器依赖项比运行
dd(app('session')->previousUrl()更有效
当依赖项中存在重定向器时,此项返回
null
当您忽略它时,它返回正确的URL不是问题,它已准备就绪似乎
,重定向器$Redirector
导致它中断。如果删除重定向器,它将正常工作