Wann beginnt session.gc_maxlifetime zu zählen

8

Bei jedem Laden der Seite starte ich session_start() , um die aktuelle Sitzung fortzusetzen. Wann beginnt der session.gc_maxlifetime zu zählen? Das erste Mal, dass session_start() aufgerufen wird und der Cookie der Sitzung gesetzt ist? Oder startet der Timer alle session_start() ?

neu

Wenn% code_% auf ungefähr 24 Minuten eingestellt ist, wenn in dieser Zeitleiste die Sitzungsdaten als Garbage Collected erfasst werden sollen

%Vor%

Wenn der Timer auf der ersten Seite geladen wird session.gc_maxlifetime , dann würde ich erwarten, dass es auf Last 3 Müll sammeln würde. Aber wenn es alle session_start() zurücksetzt, dann würde es nicht bis Last 4 sammeln.

Ich hoffe, dass es das letztere ist, denn dann könnte ich alle paar Minuten einen Javascript-Herzschlag machen, um eine Seite aufzurufen, auf der session_start() läuft.

Wenn es ersteres ist, session_start() beginnt mit der Erstellung des Sitzungscookies zu zählen Ich muss zerstören / neu erstellen oder regenerate_id um die Zählung zurückzusetzen?

    
Tyson of the Northwest 30.10.2012, 19:20
quelle

1 Antwort

2

Es ist vom letzten Aufruf von session_start () OR / AND der letzte Zeitpunkt, zu dem es geschrieben wird. Meine Vermutung wäre die letztere, da dies den "letzten modifizierten" Zeitstempel ändern würde, den der PHP-Garbage Collector verwenden würde, um zu bestimmen, ob er gelöscht werden muss oder nicht. In diesem Fall beginnt die Zählung ab dem letzten Skript, das mit session_start () endet oder explizit mit dem Skript endet, indem session_ write_ close () aufgerufen wird.

P.S. Dies würde diesen "Herzschlag" schön und einfach (in einer Zeile) machen: Ссылка

    
VBAssassin 30.10.2012, 19:40
quelle

Tags und Links