Gibt es eine inhärente Möglichkeit, Sitzungen so einzurichten, dass sie nach einer bestimmten Zeit ablaufen. Mein aktuelles Setup scheint nach 30 Minuten abzulaufen und ich möchte das deaktivieren oder zumindest erhöhen, aber ich kann keine Orte in Laravel finden, wo dies eingestellt werden könnte?Wie man Sitzungstimeout in Laravel 4.2 einstellt?
Antwort
Überprüfen Sie Ihre php.ini, hat es einen Wert für session.gc_maxlifetime (und auch session.cookie_lifetime), die eine Begrenzung der Dauer von PHP für Sitzungen festlegen. Wenn Laravel die Optionen festlegt, übergibt es cookie_lifetime
als den in app/config/session.php
festgelegten Wert.
Sitzungen sind jedoch nicht sofort nach Erreichen der maximalen Lebensdauer abgelaufen. Was passiert, nachdem diese Zeit verstrichen ist, steht die Sitzung zur Verfügung, um vom Garbage Collector entfernt zu werden.
Um das Problem zu
Eine Abhilfe überprüfen Sie Ihre php.ini
Datei zu lösen. Sie können diese Variable definiert haben: session.gc_maxlifetime
. Standardmäßig ist es auf 1440 eingestellt. Nur kommentieren oder löschen Sie es.
Ab diesem Zeitpunkt funktioniert die Sitzung möglicherweise ordnungsgemäß mit den Konfigurationswerten von session.php.
App\Config\Session.php
Prüfung für Lebenszeit ...
Sie auch einstellen ...
Cookie::make('name', 'value', 60); // 1 hr
In app/config/session.php
Sie haben:
lifetime
Option, die Sie Sitzung Ablaufzeit in Minuten (in Sekunden)
'lifetime' => 60,
einstellen lassen bedeutet, dass Sitzung nach einem abläuft Stunde.
Es gibt auch eine weitere Einstellung hier:
'expire_on_close' => true,
, die darüber entscheidet, ob Sitzung abgelaufen wird, wenn Browser geschlossen wird.
Andere Einstellungen, die Sie interessiert auch php.ini
Werte bekommen konnte:
session.cookie_lifetime = 0
und
session.gc_maxlifetime = 1440
Das sind Standardwerte.
Der erste Wert gibt an, wie lange der Sitzungscookie gespeichert wird - der Standardwert ist 0 (bis die Suche beendet ist). Die zweite Option bedeutet, nach wievielen von Sekunden PHP diese Sitzungsdaten zerstören kann.
Ich sagte Mai, weil es eine andere Option session.gc_probability
in php.ini
Datei gibt, die entscheidet, was die Chance ist, Garbage Collector auszuführen. Als Standard gibt es nur 1% Chance, dass nach 1440 Sekunden (24 Minuten) diese Sitzungsdaten zerstört werden.
india PHP Session-Unterstützung wurde in Laravel 4.1
fiel Start Um Lebensdauer einer Sitzung bearbeiten app/config/session.php
und stellen Sie die folgende Konfiguration:
/* if this is set to 'native' it will use file.
if this is set to 'array' sessions will not persist across requests
effectively expiring them immediately.
*/
'driver' => 'file'
/* number of minutes after which the session is available for Laravel's
built in garbage collection.
Prior to 4.1 you could set this to zero to expire sessions when
the browser closes. See the next option below.
*/
'lifetime' => 60
/* If true sessions will expire when the user closes the browser.
This effectively ignores your lifetime setting above.
Set to false if you want Laravel to respect the lifetime value.
If your config file was written before 4.1 you need to add this.
*/
'expire_on_close' => false,
Referenzen:
- Discussion of why native PHP sessions were dropped. (Weil es fügt automatisch Cookie-Informationen zu Header, die eine Menge Arbeit erfordert für Gerüste um zu bekommen, wenn sie wollen, vollständig die Anforderung/Antwort-wrap)
- Other Laravel session drivers
- Addition of expire_on_close config option diskutiert in Laravel 4,0-4,1 Upgrade-Anleitung
Run artisan changes 4.1.*
in der Befehlszeile die Notiz über die native
Sitzung Fahrer gleichwertig zu file
$ artisan changes 4.1.* | grep -i native
-> Native session driver has been replaced by 'file'. Specifying 'native' driver will just use the new file driver.
- 1. Wie man Fassaden in Laravel 5.2 einstellt (außerhalb von/app)
- 2. Wie Soap API in Laravel 4.2
- 3. Laravel 4.2 und URLS
- 4. Laravel 4.2 automatisches Laden
- 5. securize database.php Laravel 4.2
- 6. Laravel 4.2: Testfall Autoloading
- 7. Laravel 4.2 weiterhin Routing
- 8. wie man Farbe einstellt
- 9. Zweck der Fassade in Laravel 4.2
- 10. Sitzungstimeout in Webanwendungen
- 11. Wohin man allgemeine Funktion oder Logik in Laravel schreibt 4.2
- 12. Laravel Multiple Inputs Suche 4.2
- 13. Laravel 4.2 Update mehrere Modelle
- 14. Laravel 4.2 .env.production.php nicht enthalten
- 15. Datum Vergleich mit Laravel 4.2
- 16. Wie Scheduler Setup in Laravel-4.2 und höher Version
- 17. nichts zu migrieren Laravel 4.2
- 18. Laravel 4.2 Kontrolle Befestigung Existenz
- 19. orderBy on whereHas Abfrage in Laravel 4.2
- 20. Wie man systemweit Umask einstellt?
- 21. Wie man Helvetica Schriftart einstellt?
- 22. Laravel 4.2 Hinzufügen Fehlender Datumsbereich in Datumsbereichsabfragen
- 23. Ausgabe mit Eloquent Beziehungen in Laravel 4.2
- 24. Wie man android Sperrbildschirmbild einstellt
- 25. EditorTable Pivot View in Laravel 4.2
- 26. Wie man mehr Ränder einstellt
- 27. Google-Authentifizierung in Iframe - Laravel 4.2
- 28. Wie man Zeilenabstand einstellt Graphics.DrawString
- 29. Sitzungstimeout bei IIS Express ändern?
- 30. Laravel 4.2 + Laravel Valet + PHP 7 = Mcrypt PHP Erweiterung erforderlich
dem ersten Teil davon zu sehen (lebenslange und expire_on_close) ist richtig; der Rest ist nicht. –