ОБНОВЛЕНИЕ: Моя проблема не имела никакого отношения к сеансам Laravel, это был мой Сервисный Работник, который вызывал сессию, чтобы запутаться!Хотя я до сих пор не понимаю, почему работнику службы было хорошо для другого имени хоста с тем же кодом, но после его отключения сеансы теперь работают нормально!Оставим это здесь на случай, если кто-то еще наткнется на проблемы с сессиями и не будет сразу же думать о работниках службы, которые у них есть.
С момента перехода на Laravel 5.2 у меня возникла проблема с сохранением сессии с * 1006.* и последующее Session::keep
использование.
Я знаю, что должен использовать группу промежуточного программного обеспечения web
, и я использую.Но это не решает мою проблему.Пожалуйста, смотрите ниже:
app / Http / Kernel.php
protected $middlewareGroups = [
'web' => [
...
\Illuminate\Session\Middleware\StartSession::class,
]
];
app / Http / rout.php
Route::get('test', function(Request $request) {
$request->session()->flash('test_flash', "Some value");
return redirect('/flashed');
});
Route::get('flashed', function(Request $request) {
$request->session()->reflash();
return redirect('/flash-kept');
});
Route::get('flash-kept', function(Request $request) {
var_dump($request->session()->get('test_flash'));
});
Когда я впервые нажму /test
он перенаправляет на /flash-kept
со значением test_flash
как NULL
- но во второй раз, когда я нажимаю его, он снова перенаправляет, но на этот раз с правильным значением!И это согласуется с тем, что каждый раз, когда я загружаю любую другую страницу, затем загружаю /test
, она не сохраняет флеш-сообщение, а только второй раз при нажатии.
Может кто-то что-то видит неправильно ??
Это происходит на компьютере Debian с PHP 5.6.30
, очень интересно, что я не могу воспроизвести это поведение на своем локальном компьютере, MacOS работает PHP 7.1
- но я не думаю, что это версия PHP, так как я быстро попытался понизить версиюлокальный компьютер, чтобы использовать PHP 5.6, и я все еще не мог воссоздать проблемуЯ смотрю на это последние несколько часов, не вижу ничего плохого!