laravel session:get获取不到数据怎么办

2025-05-18 05:52:59
推荐回答(1个)
回答1:

通常 这种问题都是 未将路由置于 web 中间件下
protected $middlewareGroups = [
//中间件web
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
//看到这里了吗!StartSession!!!!要把路由放在这个中间件了才会启动Session!!
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],

'api' => [
'throttle:60,1',
],
];

Kernel.php
----------
两种路由中间件写法各人喜好!
Route::get('/', function () {
//路由放在这里
})->middleware('web');

Route::group(['middleware' => ['web']], function () {
//路由放在这里
});

routes.ph

下面开始说我的解决办法!
因为laravel框架原因,session写入是在程序执行完毕后开始保存的,虽然在同一个方法成功调用了,但是跨方法就获取不到了!
如果写入session的程序中执行了die();exit();会导致session无法保存成功!换成return解决!