gc_maxlifetime ist bereits auf 24 Minuten eingestellt, aber wenn jede Anwendung eine andere sess_expiration hat. Einer von ihnen ist auf 9000 Sekunden (2 1/2 Stunden) eingestellt. Die App ist basierend auf gc_maxlifetime nicht sess_expiration abgelaufen. Warum das? Wie kann die sess_expiration funktionieren, wenn sie länger als gc_maxlifetime ist?Warum gc_maxlifetime gewinnt über sess_expiration?
Antwort
von hier Lesen: why ini_set('session.gc_maxlifetime',60) doesn't work? und hier: https://www.dev-metal.com/how-the-php-session-garbage-collector-really-works/
Da Garbage Collector startet (falls beginnt), bevor Sitzung
Ich denke, dass die gc_maxlifetime Feuer vor Ihrer CI Session-Handler und für diese es 'Gewinnt'.
Für Ihre php.ini
Datei zu ändern, nicht gezwungen zu sein, könnten Sie versuchen, es zu setzen, bevor jeder session_start:
ini_set("session.cookie_lifetime","7200");
ini_set("session.gc_maxlifetime","7200");
session_start();
oder in der .htaccess-Datei:
php_value session.gc_maxlifetime 7200
php_value session.cookie_lifetime 7200
Sie mehr hier lesen konnte : Codeigniter increase session time out not working
Hoffe es hilft!
GC wird nach der Sitzungsinitialisierung ausgeführt und beide dieser INIs werden von CodeIgniter überschrieben. – Narf
Nicht wirklich so einfach, wie Sie es nennen haben ...
Es ist wahr, dass gc_maxlifetime
ist was passiert, wenn eine Sitzung oder nicht gelöscht bestimmt werden soll, denn das effektiv das „Server-Side-Timer“ ist das gilt für das Löschen einer Sitzung - auch auf der Client-Seite, da dort Cookies gespeichert sind.
Allerdings setzt CodeIgniter gc_maxlifetime
auf den gleichen Wert wie sess_expiration
, , es sei denn, es ist 0 (in diesem Fall verwendet es Ihren Wert php.ini).
Aber etwas anderes in Ihrer Frage kann wichtig sein:
aber, wenn jede Anwendung eine andere sess_expiration hat. Einer von ihnen wird bis 9000 Sekunden (2 1/2 Stunden)
Wenn Sie mit auf dem gleichen sess_save_path
, sess_cookie_name
, sess_match_ip
auf dem gleichen Server, aber für mehrere Anwendungen ... dann der Anwendung mit dem niedrigsten sess_expiration
Der Wert wird zu einem bestimmten Zeitpunkt Sitzungen löschen, die für andere noch gültig sein sollen.
TL; DR: Verwenden Sie nicht die gleiche Sitzung "Space" für separate Anwendungen.
- 1. CA1500 vs. SA1309 - Welcher gewinnt?
- 2. Klassen oder Jar, wer gewinnt?
- 3. mysql - gewinnt keine Krawatte Ranking
- 4. Wie man onclick Text gewinnt?
- 5. Meteor gegen Derbyjs, wer gewinnt diese Schlacht?
- 6. Verständnis Entity Framework Parallelität (Datenbank gewinnt) Muster
- 7. Modal Dialog gegen Lightbox - wer gewinnt?
- 8. .NET-Ereignis für Anwendung verliert und gewinnt den Fokus
- 9. One-Liner zu bestimmen, wer gewinnt in Rock, Papier, Schere
- 10. Gewinnt einen bestimmten Wochentag innerhalb einer Woche durch ein DATETIME
- 11. Warum Optional.of über Optional.ofNullable?
- 12. Warum gewinnt Equals (Objekt) Equals (T), wenn ein geerbtes Objekt in Hashset oder anderen Auflistungen verwendet wird?
- 13. Warum verwenden InnoDB über MySIAM
- 14. Warum lieber REST über SOAP?
- 15. Python, warum würden Sie [:] über =
- 16. Warum wählte SHA512 über SHA384?
- 17. Warum Stylesheets über JS laden?
- 18. Warum UnmutableList über ReadOnlyCollection verwenden?
- 19. Warum MySQL über Flatfiles verwenden?
- 20. Erhöhung der Schwierigkeit der Rate das Zahlenspiel jedes Mal, wenn der Benutzer gewinnt (Python)
- 21. Warum Anruf über weak_ptr ist so langsam?
- 22. Warum ist ARG_MAX nicht über limits.h definiert?
- 23. Warum funktioniert Center Align nicht über CSS?
- 24. Warum verwenden Sie NoSQL über materialisierte Ansichten?
- 25. Warum WAS-CE über Apache Geronimo verwenden?
- 26. Warum PHP OOP über Grundfunktionen und wann?
- 27. Warum klagen Linker über fehlende Symbole?
- 28. Warum beschwert sich reduceLeft über Typenkonflikt?
- 29. PyCharm beklagt sich über patch.object, aber warum?
- 30. Warum verwendet Farbe Int32 über Byte?
Überprüfen Sie [offizielle Dokumentation und Kommentare unten] (http://php.net/manual/en/session.configuration.php), wie Sie es einstellen. – Tpojka