Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich einen 30-minütigen PHP-Sitzungsablauf zuverlässig implementieren?
Problembeschreibung:
Aufrechterhaltung einer aktiven Sitzung für 30 Minuten, bevor sie beendet wird it.
Antwort:
Wenn Sie sich ausschließlich auf die integrierten Sitzungseinstellungen von PHP verlassen (z. B. session.gc_maxlifetime, session.cookie_lifetime), ist möglicherweise kein zuverlässiger Sitzungsablauf gewährleistet. Stattdessen wird empfohlen, einen benutzerdefinierten Ablaufmechanismus zu implementieren.
session.gc_maxlifetime:
session.cookie_lifetime:
Benutzerdefinierter Ablaufhandler:
Um einen zuverlässigen Sitzungsablauf sicherzustellen, implementieren Sie einen benutzerdefinierten Ablaufhandler, der einen Zeitstempel zur Benutzerverfolgung verwendet Aktivität.
Code:
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { // Session inactive for over 30 minutes session_unset(); // Delete session data session_destroy(); // Terminate session } $_SESSION['LAST_ACTIVITY'] = time(); // Update timestamp
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann ich einen 30-minütigen PHP-Sitzungsablauf zuverlässig implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!