Heim >Backend-Entwicklung >PHP-Tutorial >So implementieren Sie eine PHP-Sitzung ohne Ablauf

So implementieren Sie eine PHP-Sitzung ohne Ablauf

藏色散人
藏色散人Original
2020-07-28 09:42:552469Durchsuche

Die Implementierungsmethode für die nicht ablaufende PHP-Sitzung: Verwenden Sie zuerst den Client, um das Cookie zu speichern. Speichern Sie dann die erhaltene Sitzungs-ID im Cookie des Clients und übergeben Sie schließlich den Wert an „session_id()“. " Funktion Das ist es.

So implementieren Sie eine PHP-Sitzung ohne Ablauf

Teilen Sie die Lösung und Implementierungsmethode für eine Sitzung, die in PHP niemals abläuft

Öffnen Sie die INI-Einstellungen Datei, ändern Sie drei Zeilen wie folgt:

Verwandte Empfehlungen: „php session session (topic)

1 > 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, die die Sitzungs-ID im Client-Cookie gespeichert wird Die SessionID wird ungültig, sobald sie geschlossen wird... Aus diesem Grund kann die PHP-Sitzung nicht dauerhaft verwendet werden. Stellen wir sie also auf eine Zahl ein, die unserer Meinung nach sehr groß ist. Wie wäre es mit 999999999, das ist in Ordnung! Das ist es.

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 bis 99999999.

Das ist alles, 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.

Natürlich ist es auch möglich, dass Sie nicht die Berechtigung haben, den Server zu steuern, und nicht so viel Glück haben wie ich, die php.ini-Einstellungen zu ändern. Natürlich gibt es eine Möglichkeit, sich auf uns selbst zu verlassen , wir müssen den Client zum Speichern von Cookies verwenden, oder? Die erhaltene Sitzungs-ID wird im Cookie des Clients gespeichert, legt den Wert dieses Cookies fest und übergibt diesen Wert dann an die Funktion session_id(). 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: In der Setcookie-Zeile ist die „PHPSESSID“ nicht sicher und wurde möglicherweise geändert. Der beste Weg ist, den Wert der Sitzung mit der Funktion phpinfo() zu überprüfen und zu bestätigen .name, was wissenschaftlicher ist.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine PHP-Sitzung ohne Ablauf. 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