Dieser Artikel stellt hauptsächlich die Lösung für ungültige Sitzungen und Cookies in thinkphp vor, einschließlich der Analyse- und Löschmethode des BOM-Headers. Er hat einen bestimmten Referenzwert.
Beispiele dieses Artikels werden beschrieben Die Lösung für ungültige Sitzungen und Cookies in thinkphp. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Problembeschreibung:
Beim lokalen Debuggen gibt es kein Problem mit Sitzung und Cookie. Ich verwende Sitzung, um die aktuellen Informationen zu speichern Melden Sie sich an und laden Sie es hoch. Nachdem ich auf den Server gegangen bin, habe ich festgestellt, dass die Sitzung nach dem Sprung nicht mehr existiert. Die Ausgabesitzung auf der aktuellen Seite ist vorhanden.
Ich bin seit drei Tagen auf dieses Problem gestoßen, es gibt keinen Lehrer, den ich um Rat fragen kann, und es gibt nicht viele Leute in meiner Nähe Es ist wirklich tragisch, PHP zu machen, also ... Baidu und viele Leute auf Baidu reden Unsinn, und es gibt nichts, was das Problem lösen kann. Nach drei Tagen der Modifikation habe ich endlich die Grundursache gefunden Da es sich bei den meisten Servern, die thinkphp unterstützen, um Linux-Systeme handelt und unsere Programmierung grundsätzlich mit Windows übereinstimmt, führt dies zu Problemen mit dem BOM-Header. PHP kann den BOM-Header nicht analysieren, sondern entfernt ihn direkt, wodurch die Sitzung und die Cookies beschädigt werden unbrauchbar.
Lösung:
Was ist eine Bombe? In einer UTF-8-codierten Datei befindet sich die Stückliste im Header der Datei und belegt drei Bytes. Dies wird verwendet, um anzuzeigen, dass die Datei zur UTF-8-Codierung gehört. Nun gibt es viele Softwareprogramme, die den BOM-Header erkennen, aber dort Es gibt immer noch einige, die den BOM-Header nicht erkennen können, weshalb nach dem Bearbeiten der UTF-8-Codierung mit Notepad ein Fehler auftritt. Es gibt zwei einfache Möglichkeiten, den zu entfernen Stücklistenkopf:
1 , So entfernen Sie den Stücklistenkopf mit editplus
Nachdem der Editor an das UTF8-Kodierungsformat angepasst wurde, wird vorne eine Reihe versteckter Zeichen (d. h. Stückliste) angezeigt der gespeicherten Datei, die vom Editor verwendet wird, um zu identifizieren, ob die Datei in UTF8 kodiert ist
Führen Sie Editplus aus, klicken Sie auf „Einstellungen“, wählen Sie die Datei aus und wählen Sie „UTF-8-Identifikation“, um die Signatur immer zu löschen , und bearbeiten und speichern Sie dann die PHP-Datei ohne BOM.
2. Ultraedit-Methode zum Entfernen des BOM-Headers
Wählen Sie nach dem Öffnen der Datei das Codierungsformat in der Option „Speichern unter“. 8 ohne BOM-Header), bestätigen Sie und es ist in Ordnung. Der BOM-Header ist sehr einfach. Lassen Sie uns über die BOM-Informationen von utf8 sprechen selbst als UTF-8 mit Stückliste wird im Allgemeinen nicht durch diesen Grund verursacht.
Der Code lautet wie folgt:header("Content-type: text/html; charset=utf-8");
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
So konfigurieren Sie den Bereich im thinkPHP5.0-FrameworkImplementierung eines benutzerdefinierten Validators im thinkPHP5-Framework
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem einer ungültigen Sitzung und eines ungültigen Cookies in thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!