/ / Laravel сесии не остават между заявки - php, laravel

Ларавелските сесии не остават между заявките - php, laravel

Имам два метода, setSession и chkSession.

public function setSession()
{
Session::put("one", $person["id"]);
Session::put("two", $person["firstName"]);
Session::put("three", $person["lastName"]);

return dd(Session::all());
}

public function chkSession()
{
dd(Session::all());
}

Когато изпълнявам setSession в /people/setsession, Виждам променливите на сесията непокътнати, когато зареждам следващия метод, chkSession в /people/chksession, Виждам само символичния низ и празна флаш масив.

Защо тези променливи не се задържат между заявките?

Отговори:

3 за отговор № 1

Опитайте да използвате драйвера за "файл" вместо драйвера за "бисквитката". Нещо между конфигурацията на PHP и вашия браузър (блокери на бисквитките и т.н.) може да обърка сесията.

Мисля, че може би знам защо, имах подобен проблемпреди време: Вие извиквате dd (), който извиква die (), и в този момент Laravel все още не е записал данните за сесията. Това, което прави, е да запази данните за сесията временно в паметта и едва след като всичко е изпълнено, ще изхвърли данните за сесията в паметта (файл, бисквитка, redis, каквото и да е).

Това означава, че когато печататесъдържанието на сесията в setSession (), Laravel отпечатва правилните стойности, защото все още ги има в паметта, въпреки че все още не са били записани на съхранение. има данни в паметта.

Опитайте да се отървете от dd () и вижте дали работи.