session_cache_expire tuts nicht
Florian Stascheck
- php
Hallo,
Ich habe am Anfang meines Skriptes immer session_cache_expire($x)
mit einem Wert von $x im Moment bei 60 (wird in der config.php geändert, deshalb 'im Moment'), aber ich hatte eine Session, die hatte in einem verwaisten Browserfenster die ganze Nacht überlebet (mit Ruhezustand bei XP in Chrome). Der Browser kann sich während der über 6-7 Std wegen Ruhezustand nicht immer wieder neu verbunden haben, also liegt es imo am Server. Die Funktion gibt aber nicht mal eine Notice aus, ob es nicht geklappt hat oder so. Warum ist es denn jetz nicht nach 60 Minuten zu Ende die Session?
mfg, Flo
Moin!
Ich habe am Anfang meines Skriptes immer
session_cache_expire($x)
mit einem Wert von $x im Moment bei 60 (wird in der config.php geändert, deshalb 'im Moment'),
Hast du denn auch session_cache_limiter() geändert? Ansonsten hat diese Einstellung den Wert "nocache", und dein cache_expire bleibt wirkungslos.
Was erhoffst du dir überhaupt von dieser Einstellung?
aber ich hatte eine Session, die hatte in einem verwaisten Browserfenster die ganze Nacht überlebet (mit Ruhezustand bei XP in Chrome). Der Browser kann sich während der über 6-7 Std wegen Ruhezustand nicht immer wieder neu verbunden haben, also liegt es imo am Server. Die Funktion gibt aber nicht mal eine Notice aus, ob es nicht geklappt hat oder so. Warum ist es denn jetz nicht nach 60 Minuten zu Ende die Session?
PHP hat keine Einstellung, die Session nach exakt X Minuten garantiert zu beenden. Das musst du selbst programmieren. PHP bietet nur Einstellmöglichkeiten, mit Wahrscheinlichkeitswert zu alte Sessions eigenständig aufzuräumen - dies geschieht aber nur, wenn der Server zwischendurch andere Requests auf PHP-Skripte hereinbekommt, die ebenfalls mit Session arbeiten.
- Sven Rautenberg
Hallo,
Danke!! Ich finde es garnicht so schlecht, denn es gibt ja einen Ausloggen-Button :D.
Jetzt weiß ich aber woran es liegt.
mfg, Flo