Beim Schreiben von PHP-Websites speichern Entwickler häufig Benutzerdaten in Session, um Funktionen wie seitenübergreifende Informationsübertragung und Benutzerauthentifizierung zu implementieren. Standardmäßig werden PHP-Sitzungen automatisch gelöscht, wenn die Sitzung endet, oder verfallen, wenn der Browser geschlossen wird. Manchmal müssen Entwickler jedoch die Ablaufzeit der Sitzung genauer steuern, um die Sitzung für einen bestimmten Zeitraum gültig zu halten. In diesem Artikel erfahren Sie, wie Sie die Sitzungsablaufzeit in PHP festlegen.
Bevor wir beginnen, müssen wir die folgenden zwei Konzepte verstehen:
Sitzungs-ID: Jedem Benutzer wird beim Einrichten einer Sitzung mit dem Server eine eindeutige Sitzungs-ID zugewiesen, die zur Identifizierung des Benutzers verwendet wird Sitzungsstatus.
Sitzungsvariablen: Sitzungsvariablen beziehen sich auf Variablen, die während der Sitzung auf der Serverseite gespeichert werden. Sie werden zum Speichern von Benutzerdaten verwendet.
2.1. Ändern Sie die php.ini-Datei.
Die Sitzungsablaufzeit von PHP kann in der php.ini-Konfigurationsdatei mithilfe des Parameters session.gc_maxlifetime in Sekunden festgelegt werden. Standardmäßig beträgt der Wert 1440 Sekunden, also 24 Minuten. Sie können es ändern, indem Sie die folgenden Schritte ausführen:
Das Ändern dieses Parameters wirkt sich auf die Sitzungsablaufzeit aller PHP-Skripte aus.
2.2. Im Code festlegen
Wenn Sie nur die Sitzungsablaufzeit einer bestimmten Seite ändern oder die Sitzungsablaufzeit im Code nach Bedarf dynamisch festlegen müssen, können Sie den folgenden Code verwenden:
session_start (); // Sitzung starten
$expireTime = 60*30; // Die Ablaufzeit beträgt 30 Minuten
$_SESSION['timeout'] = time() + $expireTime; // Legen Sie die Ablaufzeit der angegebenen fest Sitzungsvariable
?> ;
Verwenden Sie im Code $_SESSION['timeout'], um eine Sitzungsvariable anzugeben, die sich auf die Ablaufzeit bezieht. Es speichert den Wert des aktuellen Zeitstempels (time()) plus die Ablaufzeit ($expireTime). Bei jedem Besuch der Seite können Sie überprüfen, ob diese Variable abgelaufen ist. Rufen Sie die Funktion session_destroy() auf, um die Sitzung zu zerstören.
2.2.1. Durch Ändern der Sitzungslebenszyklusparameter
Sie können auch die Funktion session_set_cookie_params() verwenden, um die Ablaufzeit der Sitzung im Code festzulegen. Diese Funktion kann mehrere Parameter akzeptieren. Der wichtigste davon ist der Parameter „Sitzungslebenszyklus“, der die Ablaufzeit der Sitzung bestimmt.
Das Folgende ist ein Beispiel:
session_start();
$expireTime = 60*30; // Die Ablaufzeit beträgt 30 Minuten
session_set_cookie_params($expireTime);
?>
Dieser Code wird Die Ablaufzeit der Sitzung ist auf 30 Minuten festgelegt.
Ob durch Ändern der php.ini-Datei, Festlegen im Code oder Festlegen über die Parameter des Sitzungslebenszyklus, es gibt die folgenden Hinweise:
Sitzung ist eine sehr wichtige Funktion beim Schreiben von PHP-Anwendungen. Durch Festlegen der Sitzungsablaufzeit können Sie die Sicherheit der Benutzerdaten besser schützen und unnötige Verschwendung von Serverressourcen vermeiden.
Das obige ist der detaillierte Inhalt vonSo legen Sie die Ablaufzeit einer Sitzung in PHP fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!