我正在尝试在Laravel 5.3中创建自定义错误页面。我希望检索存储在Session
中的一些变量,如Session::get("username")
,但我得到的是一个空变量。
我想如何在Laravel的自定义错误页面中获取任何Session
变量,或者这是不可能的?
答案 0 :(得分:2)
由于Laravel没有找到该路由,因此您没有通过中间件\Illuminate\Session\Middleware\StartSession
(默认情况下在web
中间件组中),因此您的会话未启动。
要初始化会话,请在\Illuminate\Session\Middleware\StartSession::class,
中将web
从$middleware
移至Kernel.php
:
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Session\Middleware\StartSession::class,
],
$midleware
中的中间件始终运行,因此即使未找到路线,也会初始化您的会话。