2016-06-08 25 views
2

Ich habe ein Problem mit Laravel-Authentifizierung, ich habe bereits eine Frage darüber gestellt here. Nachdem ich mehrere Dinge betrachtet habe, die falsch sein könnten, habe ich überprüft, ob etwas mit den Sitzungen nicht stimmt.Keine Sitzung Persistenz Laravel

\Session::set('variableName', 1); 
\Session::save(); 
var_dump(\Session::get('variableName')); 

Wenn ich den obigen Code in einer HTTP-Anforderung ausführen, erhalten gibt den Wert, aber wenn ich \ Session versuchen :: get ('Variablen') in einem anderen HTTP-Anforderung es null zurückgibt.

Meine config/sessions.php:

return [ 

    'driver' => env('SESSION_DRIVER', 'file'), 

    'lifetime' => 120, 

    'expire_on_close' => false, 

    'encrypt' => false, 

    'files' => storage_path('framework/sessions'), 

    'connection' => null, 

    'table' => 'sessions', 

    'lottery' => [2, 100], 

    'cookie' => 'laravel_session', 

    'path' => '/', 

    'domain' => null, 

    'secure' => false, 

]; 

Es gibt Sitzungsdatei in Speicher/Rahmen/Sitzungen erstellt werden.

+0

Wenn Sie sagen "verschiedene HTTP-Anfrage", was meinst du genau? Gibt es einen Grund, warum eine neue Sitzung erstellt werden sollte? Wenn Sie beispielsweise im Inkognito-Modus eine neue Chrome-Registerkarte öffnen, erhalten Sie eine neue Sitzung. –

+0

Nein, eine neue Sitzung sollte nicht erstellt werden. Mit einer anderen HTTP-Anfrage meine ich nur, zu einer anderen URL zu gehen und dort die Sitzung abzurufen. –

+1

Verstanden. Was ist dein Sitzungstreiber? Laut https://laravel.com/docs/5.2/session#introduction, wenn es sich um "array" handelt: 'Sitzungen werden in einem einfachen PHP-Array gespeichert und bleiben nicht über alle Anfragen bestehen.' –

Antwort

0

Nach den docs, müssen Sie sicherstellen, dass Sie nicht array als Session-Treiber verwenden seit:

Array-Sessions in einem einfachen PHP-Array gespeichert sind und nicht über Anfragen beibehalten werden.