Laravel session-key ändern die ganze Zeit?

Ich bin mit "file storage" für meine session. Wenn ich dies ausführen:

Session::set('awesomekey', 'myVal123');

Und aktualisieren Sie die Seite, ich kann sehen, dass die neuen Dateien, die erstellt werden in /storage/Sitzung jedes mal. Ich nahm an, es würde das update auf die gleiche Datei jedes mal. Grundsätzlich bedeutet dies, dass die sessions nicht funktionieren. In anderen Worten, wenn es hält Neuerstellung einer session-Datei, das funktioniert nie:

Session::get('awesomekey');

Oder zumindest, es gibt eine leere. Was bin ich, das könnte möglicherweise die Ursache ein neuer session-key erzeugt werden jedes mal, wenn eine Seite geladen wird?

UPDATE

Auf weitere Untersuchungen, es scheint das cookie wird regeneriert auf jeder Seite zu laden. Was könnte die Ursache, dass?

Ich bin auch nicht auf der Suche einloggen noch so, dass diese Informationen nutzlos für mich --> http://willworkforbanjos.com/2014/02/laravel-sessions-not-working-in-4-1/

Mein problem passiert, wenn ich einfach die über set-und get-code in der master.blade.php Datei. Es sollte gesetzt werden, speichern die info, und auf der nächsten reload Holen Sie sich die richtigen Informationen aus der Sitzung. Aber es nicht können, weil Sie auf neu laden, es verändert den cookie zu einigen anderen code.

Jemand wissen, warum dies passiert ist?

UPDATE 2

  1. Hinzufügen: 'lifetime' => 120 bis session.php hat nicht funktioniert. (@Scheich Heera)
  2. Platzieren Sie den code in den controller, funktioniert nicht. (@Phill Funken)
  3. Ich habe versucht, chrome und firefox, Gleiches Ergebnis (@Shift Exchange)

Nur klar zu sein, was ich versuche zu tun. Ich fügen Sie den folgenden code in HomeController.php:

public function index()
{
    Session::put('awesomekey', 'myVal123');
    return View::make('home.index');
}

Dann lege ich diese in mein master.blade.php:

print Session::get('awesomekey');

Ich keine "stirbt" oder zufälliger echos in meinem controller-Seite der code, außer diesem. Wenn ich die Datei öffnen, das erste mal, ich kann sehen, myVal123 wird ausgedruckt.

Ich dann nehmen Sie dieses Teil in die Steuerung:

Session::put('awesomekey', 'myVal123');

Und die Seite neu laden. Jetzt druckt nichts. Ich sehe in meinem browser, das cookie hat sich geändert. Erzeugen Sie ein neues cookie verliert die Referenz auf die session, so dass ich ' m stecken versucht zu verstehen, warum Sie es tun, dass jedes mal, obwohl es speichert die Sitzung auf der ersten laden.

Mehr Ideen?

UPDATE 3

Ich auch versucht:

  1. Läuft "php artisan dump-autoload" ... funktioniert immer noch nicht
  2. Ging ich hier: http://www.whatismybrowser.com/are-cookies-enabled ... und ja, cookies sind aktiviert.

Ich bin wirklich langsam die Ideen aus hier...

UPDATE 4

  1. Ging ich zu SessionManager.php und nur unter dieser:

    $lifetime = $this->app['config']['Sitzung.lifetime'];

Druckte ich den Wert des Lebens Zeit:

print $lifetime; die();

Und dieser code wurde nie Treffer auf Seite neu laden?! Doch indem diese in meinem controller:

$d = Config::get('session.lifetime');
print $d;

Tatsächlich drucken Sie sich mein Wert für die Lebensdauer.... 🙁

  • Versuchen Sie es mit session-flash, es wird nur Arbeit für die nächste Anfrage , es sei denn, Sie reflash es
  • Kannst du vielleicht näher erläutern? Mein problem ist, dass meine cookies werden immer neu generiert, und ich brauche, um zu verstehen, warum?
  • Kannst du mehr code ?
  • Haben Sie versucht, Sie zu speichern etwas in die Sitzung aus Ihrem controller, anstatt aus Ihrer Sicht?
  • Haben Sie versucht, auf einen anderen browser/computer, um zu sehen, ob das problem passiert dann? Ihr nicht in "privaten browser" - Modus, oder was?
  • Ich will mehr Informationen liefern, heute Abend so zu Antworten, um alle Ihre Abfragen. Leider habe ich nicht den code bei mir jetzt.
  • Haben Sie 'secure' => false, legen Sie Sie in Ihrem session.php config-Datei?
  • Auch tritt dieses problem auf eine leere Installation von Laravel 4.1?
  • Ich werde zurückkehren, um meine Niederlassung zu einem leeren installieren und berichten ein wenig.
  • Ich habe wieder zwei Versionen zurück, und nun-Sitzungen arbeiten. So etwas habe ich Hinzugefügt, brach es. Halten Sie Angeln, bis ich es finde.
  • Haben Sie es behoben? Ich habe das gleiche Problem. Gute Arbeit in lokalen, aber nicht im server. Bitte um Rat.
  • Ja, habe ich. Das problem für mich war, dass die cookie-Namen in laravel muss nur aus Buchstaben. Ich hatte einen fullstop in mir. Siehe unten meine Antwort (ich landete die Beantwortung meiner eigenen Frage).
  • Für jemand immer noch dieses Problem, wenn Sie mit Auth-es wurde geändert in laravel 4.1 Auth::login() wird die session neu generiert werden. Die überarbeitung der Auth-Implementierung löste dieses Problem für mich.

InformationsquelleAutor coderama | 2014-03-01
Schreibe einen Kommentar