Gibt es eine Möglichkeit, eine PHP-Session-Variable ($_SESSION['example'
) nach einer bestimmten Zeit ablaufen zu lassen. Um zu klären, Ich möchte die Sitzung des Benutzers intakt und behalten Sie alle anderen Variablen mit ihren Werten, Ich möchte nur eine einzelne Sitzungsvariable nach einer kurzen Zeitspanne (1 Minute oder so) ablaufen. Gibt es eine Möglichkeit, die Variable selbst zu verfallen oder muss ich die Zeit verfolgen und die Variable löschen, wenn ich festgestellt habe, dass die Zeit abgelaufen ist? Ich benutze PHP 5 mit Apache2 auf Ubuntu. Vielen Dank.Expire php Session-Variable nach Zeitraum
3
A
Antwort
2
Vielleicht so etwas wie:
$_SESSION['example'] = $value;
$_SESSION['expiries']["example"] = time() + 30*60; // 30 mins
Declare Funktion:
function expireSessionKeys() {
foreach ($_SESSION["expiries"] as $key => $value) {
if (time() > $value) {
unset($_SESSION[$key]);
}
}
}
Dann, wo immer Sie haben session_start()
es Follow-up mit exprireSessionKeys()
All dies kann in einem speziell angefertigten werden session handler
Es ist kein Duplikat. Ich habe speziell gebeten, die Sitzung zusammen mit allen anderen Sitzungsvariablen am Leben zu erhalten, während ich nur eine einzelne Variable lösche. –
Sie könnten dies mit Cookies erreichen ... nicht sicher, ob das die Richtung ist, in die Sie gehen möchten – Confiqure
Vielleicht schauen Sie in eine Art von Speicher-Cache (wie Redis) als Mittel, um den Ablaufeffekt zu erreichen. – apokryfos