Laravel Session store not set on request

此生再无相见时 提交于 2019-12-24 05:24:11

问题


I'm developing a small website and have problems with the session. When I try to login or make an AJAX call, I get the following RuntimeException:

RuntimeException in Request.php line 758: Session store not set on request.

in Request.php line 758
at Request->session() in VerifyCsrfToken.php line 87
at VerifyCsrfToken->tokensMatch(object(Request)) in VerifyCsrfToken.php line 49
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Language.php line 38
at Language->handle(object(Request), object(Closure))
at call_user_func_array(array(object(Language), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 122
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 87
at Kernel->handle(object(Request)) in index.php line 54

Any idea what have I done wrong. Thanks in advance


回答1:


Look at @Cas Bloem his answer here this helped me out amazingly:

Laravel - Session store not set on request

That's why it wasn't working for me. Cause you're using a session that is expection matching CSRF tokens (is my best guess, I'm new to Laravel myself).

Also if you go to app->http->middleware->VerifyCsrfToken this is were you can add routes to the array that won't be checked for CSRF verification. This plus Cas Bloem his fix (place routes in different section in routes.php) fixed my problem. I'm just developing/learning on localhost right now but need to implement this later on.

Hope this helps/clears thing up!




回答2:


Assuming you use Laravel 5.2: You'll need to use the web middleware if you need session state, CSRF protection, and more. (like the global in 5.1)

Route::group(['middleware' => ['web']], function () {




回答3:


delete everyting inside this folder storage/framework/sessions and make sure this folder has write permission




回答4:


Does the file '/config/session.php' exist in your project? If not, create it and make sure all the options are set correctly.



来源:https://stackoverflow.com/questions/33517763/laravel-session-store-not-set-on-request

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!