Hier ist config/session.php
:
Meine storage/framework/sessions
haben 755 Berechtigungen.
Wenn ich diese 2 Zeilen in meinen Controller lege
%Vor% Ich erhalte erwartete "bb"
Ausgabe. Aber wenn ich die erste Zeile kommentiere:
und Seite aktualisieren, ich erwarte immer noch "bb"
, bekomme aber null
.
Außerdem ist storage/framework/sessions
leer.
Was soll ich tun, damit Session funktioniert?
Laravel 5 behandelt Sitzungen über eine Middleware-Klasse namens StartSession
. Noch wichtiger ist, dass diese Middleware ein TerminableMiddleware
ist und der Code, der die Daten tatsächlich speichert (in Ihrem Fall in die Sitzungsdatei), in der Methode terminate
liegt, die am Ende des Anforderungslebenszyklus ausgeführt wird:
Beim Aufruf von dd(Session::get('aa'));
wird die Anfrage unterbrochen, bevor die Methode terminate
der Middleware aufgerufen werden kann.
Lustigerweise erklärt die Laravel-Middleware-Dokumentation tatsächlich die Middleware-Logik, indem sie dem Laravel StartSession
gibt. Middleware als Beispiel:
Zum Beispiel schreibt die in Laravel enthaltene "Session" Middleware die Sitzungsdaten in den Speicher , nachdem die Antwort an den Browser gesendet wurde.
Versuchen Sie, var_dump()
anstelle von dd()
zu verwenden.