laravel 5.5 数据存入session,会出现Session store not set on request.错误。查了下laravel 5.5将session放到global middleware中,需要laravel的文件 ./app/Http/Kernel.php中的加上一句:

\Illuminate\Session\Middleware\StartSession::class,protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \App\Http\Middleware\TrimStrings::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, \App\Http\Middleware\TrustProxies::class, \Illuminate\Session\Middleware\StartSession::class,];

再写设置session方法:

public function setSession(Request $request) { if ($request->session()->exists('site')) { return 'exist site session'; } else{ $request->session()->put('site', 'LaravelAcademy.org'); return 'save site session'; }}

获得session方法:

public function getSession(Request $request) { if ($request->session()->exists('site')) { return $request->session()->get('site'); } else{ echo "no site session"; return null; }}

查看原文 >>
相关文章