Laravel5.5 保存了 session 当时可以获取,下次请求时 session 全都是空值
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,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\Spatie\Pjax\Middleware\FilterIfPjax::class,
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
// \App\Http\Middleware\VerifyCsrfToken::class, //关闭csrf防御
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
'throttle:10000,1',
'bindings',
],
];
kernel都加上了sessionStart,
路由也在 中间件里
Route::group(['prefix' => 'h5', 'middleware' => 'web'], function () {
Route::get('/test', function () {
// print_r(session()->all());exit;
//使用上面的代码打印出来 只有 :
// Array ( [_token] => tzU6L8G1IQtcGrELZaEjaDFRVlHspWYTWHOfsAp4 )
session()->put('yy','999');
session()->save();
// print_r(session()->all());exit; //当时保存的时候是可以保存的上的
//打印结果:
//Array ( [_token] => b5Y5Cog2OvjdiMHmPJV0T13Y87khWJ3EWMztFfQr [yy] => 999 [_flash] => Array ( [old] => Array ( ) [new] => Array ( ) ) )
//但是下次请求就没有了
});
}
后面也没用exit,die等等中止输出的方法,我推测是中间件没派上用场,但不知道怎么去验证,第一次提问,希望能够得到大神的解答
推荐文章: