Heim  >  Artikel  >  Backend-Entwicklung  >  So verstehen Sie den Betriebsmechanismus einer PHP-Sitzung

So verstehen Sie den Betriebsmechanismus einer PHP-Sitzung

清浅
清浅Original
2019-02-14 17:42:143992Durchsuche

Der Ablaufmechanismus der PHP-Sitzung besteht darin, dass der Client die Sitzungs-ID an den Server übergibt und der Server dann die entsprechende Datei basierend auf der Sitzungs-ID findet und sie deserialisiert, um den Sitzungswert zu erhalten Dann wird es beim Speichern von Transform serialisiert und dann geschrieben.

Der Wissenspunkt, den ich heute teilen werde, ist der Sitzungsausführungsmechanismus in PHP. Er ist für Entwickler, die mit PHP vertraut sind, nicht unbekannt, aber für diejenigen ist er nicht sehr verständlich die gerade erst anfangen. Als nächstes werde ich in diesem Artikel den Sitzungsbetriebsmechanismus in PHP im Detail vorstellen, der hoffentlich für alle hilfreich ist

So verstehen Sie den Betriebsmechanismus einer PHP-Sitzung

[Empfohlene Kurse: PHP-Tutorial]

Bedeutung des PHP-Sitzungsbetriebsmechanismus:

PHP-Sitzungsbetriebsmechanismus ist Wenn der Client die Sitzungs-ID ändert, findet er die entsprechende Datei basierend auf der Sitzungs-ID. Beim Lesen wird der Dateiinhalt deserialisiert, um den Sitzungswert zu erhalten. Beim Speichern wird zuerst serialisiert und dann

Klassifizierung des PHP-Sitzungsmechanismus

Es gibt zwei Mechanismen für Sitzungen in PHP, nämlich den Standardmechanismus und den benutzerdefinierten Sitzungsverarbeitungsmechanismus.

Der Standardmechanismus

php.ini-Konfiguration:

session.save_handler = files

verwendet Festplattendateien, um PHP-Sitzungen zu implementieren Folgende Es besteht aus mehreren Teilen:

session_start()

session_start() ist der Beginn des Sitzungsmechanismus, der mit einer gewissen Wahrscheinlichkeit die Speicherbereinigung startet. Diese Wahrscheinlichkeit wird basierend auf der Konfiguration von php.ini bestimmt, da in einigen Systemen session.gc_probability = 0 ist, das heißt, die Wahrscheinlichkeit ist 0, dann gibt es keine Speicherbereinigung

Weisen Sie einen Wert zu $_session

Das Hinzufügen eines neuen Werts bleibt nur im Speicher erhalten. Wenn die Skriptausführung endet, schreiben Sie den Wert von $_session in den durch session_id angegebenen Ordner und schließen Sie dann die zugehörigen Ressourcen. In dieser Phase ist es möglich, Vorgänge zum Ändern der Sitzungs-ID durchzuführen, z. B. das Zerstören einer alten Sitzungs-ID und das Generieren einer neuen Sitzungs-ID. Dies wird im Allgemeinen in benutzerdefinierten Sitzungsoperationen

Beispiel verwendet:

if (isset($_COOKIE[session_name()])) {
            setcookie(session_name(),'',time() -42000,'/');//旧session cookie过期
          }
          session_regenerate_id();//这一步会生成新的session_id
         //session_id()返回的是新的值

Sitzungsoperation schreiben

im Skript At Am Ende wird der Sitzungsschreibvorgang ausgeführt und der Wert in $_session in die durch session_id benannte Datei geschrieben. Möglicherweise ist er bereits vorhanden und es muss möglicherweise eine neue Datei erstellt werden.

Sitzung zerstören

Von der Sitzung gesendete Cookies sind im Allgemeinen sofortige Cookies, die im Speicher gespeichert werden und ablaufen, wenn der Browser geschlossen wird. Wenn Sie sich jedoch nur abmelden möchten, anstatt den Browser zu schließen, müssen Sie die Sitzung im Code zerstören. Es gibt viele Methoden.

Beispiel:

1. setcookie(session_name(),session_id(),time() -8000000,..);//退出登录前执行
2. usset($_SESSION);//这会删除所有的$_SESSION数据,刷新后,有COOKIE传过来,但是没有数据。
3. session_destroy();//这个作用更彻底,删除$_SESSION 删除session文件,和session_id

So verstehen Sie den Betriebsmechanismus einer PHP-Sitzung

Benutzerdefinierter Sitzungsverarbeitungsmechanismus

php.ini-Konfiguration

session.save_handler = user

Der benutzerdefinierte Verarbeitungsmechanismus kann in die folgenden Teile unterteilt werden

session_start()

Ausführen open( $save_path,$session_name)-Anweisung öffnet das Sitzungsoperationshandle

Führen Sie read($id) aus, um Daten daraus zu lesen

Hinweis: $save_path gibt direkt true zurück in diesem Fall

Skriptausführung endet

Write($id,$sess_data)-Anweisung ausführen

Sitzung zerstören

Es ist zu beachten, dass der Benutzer, wenn er die Sitzung zerstören muss, zuerst „zerstören“ und dann Schritt 2 ausführen muss

So verstehen Sie den Betriebsmechanismus einer PHP-Sitzung

Zusammenfassung: Das Obige ist das Ganze Inhalt dieses Artikels, ich hoffe, er wird für alle hilfreich sein.

PHP-Lernthema für chinesische Websites: PHP-Sitzung (einschließlich Bilder, Videos, Fälle)

Das obige ist der detaillierte Inhalt vonSo verstehen Sie den Betriebsmechanismus einer PHP-Sitzung. 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