Я пытаюсь заставить сеансы работать в Laravel 5.7, но я не могу заставить его работать;Я не уверен почему.Я просмотрел официальные документы, просмотрел кучу сообщений SO, сделал поиск в Google для решения проблемы на других сайтах, и до сих пор не могу понять это.
По сути, у меня есть маршруткак в web.php
:
Route::get('/some_path', 'SomeController@index');
Затем, в index
методе SomeController
, у меня есть следующее:
session(['test', 'Some Value']);
session(['test2', 'Some Other Value']);
session(['test3', 'Some Third Value']);
$value = session('test', 'Backup Value');
echo $value;
С этим яна экран всегда выводится Backup Value
.
Если перейти к /storage/framework/sessions
, я вижу файл сеанса, который имеет следующее содержимое (которое я анонимизировал):
a:5:{s:6:"_token";s:40:"token-here";s:9:"_previous";a:1:{s:3:"url";s:26:"http://example.com/some_path";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}i:0;s:5:"test3";i:1;s:16:"Some Third Value";}
По сути, похоже, что сессия работает, но она хранит только test3
.Если я закомментирую строку test3
в контроллере, то она будет хранить только test2
.И даже если у меня есть только строка test
в контроллере, он все равно не получает значение.
Я также попытался переключить сеанс на сеанс БД с подходящим файлом переноса сеанса а-ля https://laravel.com/docs/5.7/session, но он все еще не работает.
В принципе, я понятия не имею, что случилось.Я могу сказать, что я не использую собственную аутентификацию Laravel, поэтому я не уверен, имеет ли это значение, но я чувствую, что это не должно.Кроме того, я попытался перезапустить свой локальный хост, но это не имело значения и запустил обе следующие команды, ни одна из которых, кажется, ничего не меняет:
php artisan config:clear
php artisan route:clear
Наконец, я попытался добавить use Session
вверхняя часть контроллера, но это тоже не имеет значения.
В принципе, я не знаю, что делать.Что может быть причиной этого?Спасибо.