Heim >Backend-Entwicklung >PHP-Tutorial >Das PHP-Verifizierungsbild wird nicht angezeigt
Fehler:
Ich habe heute lokal einen neuen virtuellen Host erstellt und die zuvor geschriebenen beim Bereitstellen eingefügt Bei einer kleinen PHP-Website trat diese Situation aufgrund der zuvor verwendeten Wamp-Integrationsumgebung nicht auf. Jetzt stelle ich plötzlich fest, dass der Bestätigungscode nicht generiert werden kann.
Also habe ich mich auf die Suche nach Fehlern gemacht und sie schließlich wie folgt gelöst:
Methode 1:
Wenn die obige Situation auftritt, besteht der grundlegendste Fehler darin, dass Sie möglicherweise vergessen haben, das GD-Modul in PHP zu installieren. In der Windows-Umgebung müssen Sie es nur in der php.ini-Datei finden:
;extension=php_gd2.dll
Entfernen Sie einfach das Semikolon davor. Nach dem Neustart von 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
Nach der Installation können Sie auch das obige Modul sehen.
Methode 2:
Wenn Sie feststellen, dass es nach der oben genannten Installation immer noch nicht funktioniert, kann das folgende Problem die Ursache sein.
Ihr Code wird höchstwahrscheinlich mit einem Texteditor wie Editpuls oder Notepad++ bearbeitet, dann 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 Bedeutung der BOM-Signatur besteht darin, dem Editor mitzuteilen, welche Codierung die aktuelle Datei verwendet, um die Identifizierung des Editors zu erleichtern. Obwohl die BOM nicht im Editor angezeigt wird, wird sie wie ein Extra ausgegeben Leerzeile. Im Allgemeinen verwende ich das UTF-8-Stücklisten-freie Format, daher müssen Sie das Codierungsformat des Codes in das Stücklisten-freie Format ändern.
Methode 3:
Wenn Sie die beiden oben genannten Schritte durchlaufen und feststellen, dass es immer noch nicht funktioniert, müssen Sie Ihren Trumpf einsetzen. Verwenden Sie ob_clean(), um den Cache zu leeren. Die Funktion von ob_clean besteht darin, 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); }
Hinweis:
Wenn Sie eine höhere PHP-Version verwenden, können Sie keine undefinierten Variablen verwenden, da sonst Fehler gemeldet werden, $new_number und $_SESSION[' check_checks '] muss vor der Verwendung mit isset beurteilt werden. Wenn Sie alten Code verwenden, fügen Sie am Anfang error_reporting(E_ALL & ~E_NOTICE) hinzu, um Benachrichtigungsfehler zu blockieren (nicht empfohlen). Verwenden Sie daher zur Beurteilung isset(), um sicherzustellen, dass es definiert ist , andernfalls wird der Bestätigungscode möglicherweise nicht angezeigt.
Empfohlenes Video-Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonDas PHP-Verifizierungsbild wird nicht angezeigt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!