Laravel 5 - Sitzung funktioniert nicht

8

Hier ist config/session.php :

%Vor%

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:

%Vor%

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?

    
Limon Monte 30.03.2015, 12:52
quelle

1 Antwort

17

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:

%Vor%

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.

    
Bogdan 30.03.2015, 14:22
quelle

Tags und Links