Laravel:为什么var_dump / dump / dd会影响auth() - > login()函数

时间:2018-06-08 01:46:43

标签: php laravel

的Env

  • laravel 5.5

问题

我写了两条小测试路线(网络路线):

Route::get('/test/login', function (){

    auth()->login(\App\User::find(1));
//    dump('hello');

    return response()->json(['msg'=>'login succeed!']);

});

Route::get('/test/me', function (){

    return response()->json(auth()->user());

});

当我执行GET /test/login然后执行GET /test/me时,用户数据将按预期返回。

但是,如果我取消注释转储部分dump('hello');,请按照与上述相同的顺序,为GET /test/me获取空数据。< / p> 顺便说一下,我使用&#39;文件&#39;作为会话驱动程序。

问题

我想知道为什么以及var_dump / dump / dd如何使auth() - &gt; login()无法正常工作?

1 个答案:

答案 0 :(得分:0)

我找到了解释这个问题的答案。看到 laracasts-answer

  

发送一些要在浏览器中显示的内容后,您将无法再发送标题。 var_dump(dump或dd)将发送响应头(没有cookie),因此在使用cookie的响应之后不起作用,因为你不能再发送响应了。

我的案例中的登录问题最后是关于session / cookie,如果响应头中没有设置laravel_session cookie,那么基于会话的会话和登录就无法正常工作。

相关问题