У меня есть следующий код:
Код: Выделить всё
// routes/web.php
Route::get('/', function () {
print_r(['start' => session()->getId()]);
session()->regenerate();
print_r(['after start on /' => session()->getId()]);
print_r(session()->all());
sleep(5);
return redirect('/get');
});
Route::get('/get', function () {
print_r(['end on /get' => session()->getId()]);
print_r(session()->all());
});
[img]https://i.stack.imgur.com /lnTNq.png[/img]

< /p>
Почему Laravel не получает ОБНОВЛЕННЫЙ ID при доступе к /get?
Что я делаю неправильно?
Возвращается значение lrTifbBYDeX8ihhUBwa4nnTWiOncWnVZmXXChHHk
Я хочу обновить свой сеанс и с этого момента использовать новое значение идентификатора.
используются следующие промежуточные программы:
Код: Выделить всё
protected $middlewareGroups = [
'web' => [
\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,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
];
Я тестировал с использованием Laravel 10, Laravel 9 и Laravel 8, все они вели себя одинаково.
Подробнее здесь: https://stackoverflow.com/questions/783 ... on-refresh
Мобильная версия