Hallo zusammen,
ich hab da mal eine Verständnis-Frage
Folgende Konfiguration hab ich eingestellt:
Klar meine Session läuft nach genau 1 Stunde ab. Auch das Cookie ist nach 1 Stunde weCH
Im Hintergrund läuft ein Skript das alle 60 Sekunden ausgeführt wird und prüft ob die Restzeit der Session kleiner als 5 Minuten ist.
Wenn ja führe ich folgendes aus:
Klar ich verlänger die Lebenszeit des Cookies wieder um 1 Stunde.
Es funktioniert auch alles super, aber ich frage mich WARUM bleibt auf dem Server die Session-Datei bestehen? Wie wird das von PHP gehandhabt? Sobald ein gültiges Cookie kommt übernimmt die Session-Datei ebenfalls die Laufzeit des Cookies? Es müsste doch vom GarbageCollector nach 1 Stunde geschluckt werden - oder?
Mein eigentliches Vorhaben ist es nach dem Login hat jeder 1 Stunde lang Zeit. 5 Minuten bevor die Session ablaufen würde, möchte ich den User benachrichtigen. Reagiert er nicht auf diese Nachricht - ENDE Session läuft ab, reagiert er mit einem Klick auf diese Nachricht möchte ich die Session eine weitere Stunde am Leben halten.
Ist das der richtige Weg? Gibt es einen anderen/besseren?
Schon ein mal vielen Dank vorab und viele Grüße
ich hab da mal eine Verständnis-Frage
Folgende Konfiguration hab ich eingestellt:
PHP-Code:
ini_set('session.use_cookies', 1);
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0);
ini_set('session.gc_maxlifetime', 3600);
ini_set("session.cookie_lifetime", 3600);
ini_set('session.gc_probability', 100);
ini_set('session.gc_divisor', 100);
Im Hintergrund läuft ein Skript das alle 60 Sekunden ausgeführt wird und prüft ob die Restzeit der Session kleiner als 5 Minuten ist.
Wenn ja führe ich folgendes aus:
PHP-Code:
setcookie(session_name(), session_id(), 3600, '/');
Es funktioniert auch alles super, aber ich frage mich WARUM bleibt auf dem Server die Session-Datei bestehen? Wie wird das von PHP gehandhabt? Sobald ein gültiges Cookie kommt übernimmt die Session-Datei ebenfalls die Laufzeit des Cookies? Es müsste doch vom GarbageCollector nach 1 Stunde geschluckt werden - oder?
Mein eigentliches Vorhaben ist es nach dem Login hat jeder 1 Stunde lang Zeit. 5 Minuten bevor die Session ablaufen würde, möchte ich den User benachrichtigen. Reagiert er nicht auf diese Nachricht - ENDE Session läuft ab, reagiert er mit einem Klick auf diese Nachricht möchte ich die Session eine weitere Stunde am Leben halten.
Ist das der richtige Weg? Gibt es einen anderen/besseren?
Schon ein mal vielen Dank vorab und viele Grüße
Kommentar