Heim >Backend-Entwicklung >PHP-Problem >Wie kann ich dafür sorgen, dass die Sitzung in PHP niemals abläuft?
Öffnen Sie die Datei php.ini und setzen Sie den Wert „session.use_cookies“ auf 1, den Wert „session.cookie_lifetime“ auf 999999999 und den Wert „session.gc_maxlifetime“ auf 99999999. Das war’s.
So läuft eine Sitzung in PHP nie ab
Die erste Methode Methode :
Öffnen Sie die Einstellungsdatei php.ini und ändern Sie die drei Zeilen wie folgt: [Verwandte Tutorial-Empfehlungen: „PHP-Tutorial“]
1 .use_cookies
Setzen Sie diesen Wert auf 1 und verwenden Sie Cookies, um die Sitzungs-ID zu übergeben.
2. session.cookie_lifetime
Dies stellt die Zeit dar, in der die Sitzungs-ID im Client-Cookie gespeichert wird Der Standardwert ist 0 , was bedeutet, dass die SessionID ungültig wird, sobald der Browser sie schließt... Aus diesem Grund kann die PHP-Sitzung nicht dauerhaft verwendet werden! Stellen wir es also auf eine Zahl ein, die wir für groß halten, wie wäre es mit 999999999, das ist in Ordnung! das ist alles.
3. session.gc_maxlifetime
Dies ist die Zeit, die die Sitzungsdaten auf der Serverseite gespeichert werden. Wenn diese Zeit überschritten wird, werden die Sitzungsdaten automatisch gelöscht! Stellen wir ihn also ebenfalls auf 99999999 ein.
Das war's, alles ist in Ordnung. Wenn Sie es nicht glauben, testen Sie es einfach und sehen Sie - richten Sie eine Sitzung ein und kommen Sie nach zehneinhalb Tagen wieder, um zu sehen, ob Ihr Computer nicht in Ordnung ist ausgeschaltet oder heruntergefahren ist, können Sie die Sitzungs-ID weiterhin sehen.
Zweite Methode:
Natürlich ist es auch möglich, dass Sie keine Berechtigung zur Steuerung des Servers haben und die php.ini-Einstellungen nicht ändern können. Sie müssen den Client zum Speichern von Cookies verwenden, die erhaltene Sitzungs-ID im Cookie des Clients speichern, den Wert dieses Cookies festlegen und diesen Wert dann an die Funktion session_id() übergeben. Die spezifische Methode lautet wie folgt:
<?php session_start(); // 启动Session $_SESSION['count']; // 注册Session变量Count isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id(); // 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID $_SESSION['count']++; // 变量count加1 setcookie('PHPSESSID', $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中 echo $count; // 显示Session变量count的值 ?>
Hinweis: „PHPSESSID“ in der setcookie-Zeile „Nicht unbedingt.“ Wenn Sie einen Netzwerkadministrator treffen, der unter Modifikationswahn leidet, ist es möglicherweise die beste Möglichkeit, die Sitzung mit der Funktion phpinfo() zu überprüfen .name item. Der Wert ist relativ wissenschaftlich.
Empfehlungen zu verwandten Themen: PHP-Sitzung (einschließlich Bilder, Videos, Fälle)
Das obige ist der detaillierte Inhalt vonWie kann ich dafür sorgen, dass die Sitzung in PHP niemals abläuft?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!