Heute habe ich lokal einen neuen virtuellen Host erstellt und eine kleine PHP-Website bereitgestellt, die ich zuvor geschrieben habe. Da ich zuvor die integrierte Wamp-Umgebung verwendet habe, ist diese Situation nicht aufgetreten. Jetzt stelle ich plötzlich fest, dass der Bestätigungscode nicht generiert werden kann.
Also habe ich meine Reise auf der Suche nach Fehlern im Internet begonnen und sie nun wie folgt gelöst:
bug1
Wenn die obige Situation auftritt, besteht der grundlegendste Fehler darin, dass Sie möglicherweise vergessen haben, das GD-Modul in PHP zu installieren. (Empfohlenes Lernen: PHP-Video-Tutorial)
In der Fensterumgebung müssen Sie nur
;extension=php_gd2.dll
in der php.ini-Datei finden und das Semikolon davor entfernen it, neu starten Nach Apache finden Sie dies in phpinfo()
Wenn Sie sich in einer Ubuntu-Umgebung befinden, müssen Sie das GD-Modul installieren. Der Befehl lautet
sudo apt-get install php5-gd
Danach Installation, auch Sie können das Modul oben sehen.
bug2
Wenn Sie feststellen, dass es nach der oben genannten Installation immer noch nicht funktioniert, liegt möglicherweise das folgende Problem vor
Ihr Code It Höchstwahrscheinlich wurde es mit einem Texteditor wie Editpuls oder Notepad++ bearbeitet, daher ist ihr Standardkodierungsformat UTF-8 mit BOM.
UTF-8 BOM wird auch als UTF-8-Signatur bezeichnet. Tatsächlich hat UTF-8 BOM keine Auswirkung auf UFT-8. Es wurde hinzugefügt, um UTF-16 und UTF-32 zu unterstützen Die Signatur teilt dem Editor lediglich mit, welche Codierung die aktuelle Datei verwendet, um die Identifizierung des Editors zu erleichtern. Obwohl die Stückliste nicht im Editor angezeigt wird, erzeugt sie eine Ausgabe, genau wie eine zusätzliche Leerzeile.
Im Allgemeinen verwende ich das UTF-8-Stücklisten-freie Format.
Sie müssen also das Codierungsformat des Codes in das Stücklisten-freie Format ändern.
bug3
Wenn Sie die beiden oben genannten Schritte durchlaufen und feststellen, dass es immer noch nicht funktioniert, müssen Sie Ihre Killerwaffe verwenden.
Verwenden Sie ob_clean() und leeren Sie den Cache.
Die Funktion ob_clean wird verwendet, um den Inhalt des Ausgabepuffers zu verwerfen. Wenn Sie viele generierte Bilddateien haben, müssen Sie den Puffer häufig löschen, wenn Sie korrekt darauf zugreifen möchten.
public function create() { ob_clean(); $a = new verify(); session::set('captcha', strtolower($a->create(4, 15))); view::assign("captcha", $a); view::display("captcha"); exit(0); }
Das obige ist der detaillierte Inhalt vonLösung für das Problem, dass das Bild des PHP-Bestätigungscodes nicht angezeigt werden kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!