Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich dafür sorgen, dass die Sitzung in PHP niemals abläuft?

Wie kann ich dafür sorgen, dass die Sitzung in PHP niemals abläuft?

青灯夜游
青灯夜游Original
2020-07-21 10:59:154022Durchsuche

Ö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.

Wie kann ich dafür sorgen, dass die Sitzung in PHP niemals abläuft?

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[&#39;count&#39;]; // 注册Session变量Count 
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id(); 
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID 
$_SESSION[&#39;count&#39;]++; // 变量count加1 
setcookie(&#39;PHPSESSID&#39;, $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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn