2017-06-16 75 views
0

我试图获得一个简单的会话来存储一个值,但在保存时遇到了麻烦。 我环顾过类似的帖子,并没有任何运气尝试他们的建议。这是我做了什么:Laravel 5.4会话没有存储

使用 “网络” 在middlewareGroups

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

使用 “网络” 在中间件和也可手动

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

$this->middleware('web'); 

使用Session::putsession() global和$request->session()甚至$_SESSION

Found this article并尝试了答案,但仍然没有。我使用的文件来存储我的会话

增加了以下我Kernel.php

protected $middleware = [ 
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
    \Barryvdh\Cors\HandleCors::class, 
    \Illuminate\Session\Middleware\StartSession::class, 
    \Illuminate\View\Middleware\ShareErrorsFromSession::class 
]; 

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' => [ 
     \App\Http\Middleware\EncryptCookies::class, 
     \Illuminate\Session\Middleware\StartSession::class, 
     'throttle:60,1', 
     'bindings', 
    ], 
]; 

可是什么!也许你们可以摆脱一些光线?非常感谢。

+0

哪里有文件存储,什么是该文件夹的访问规则的工作?网络服务器需要写入权限才能将会话文件存储在那里 – rypskar

+0

为什么要开始会话两次? – apokryfos

+0

我认为你的问题在全球和网络组都有StartSession。尝试从$ middleware中移除除CheckForMaintenanceMode之外的所有内容。 – btl

回答

0

我有同样的问题,对我以后Session::put使用Session::save();

+0

为什么downvote?请解释 – Nerea

+0

不好意思的人,不是我那个downvoted!所以很抱歉,我尝试了这一点,但它并不适合我。从我读到的内容来看,Laravel 5.4的方式更喜欢'session()'或'$ request-> session()' –

+0

尝试从'web'或'$ middleware'中删除StartSession,只保留一个。 – Nerea