Heim  >  Artikel  >  Backend-Entwicklung  >  Das Bild des PHP-Bestätigungscodes wird nicht angezeigt

Das Bild des PHP-Bestätigungscodes wird nicht angezeigt

王林
王林Original
2019-09-16 17:55:017749Durchsuche

Das Bild des PHP-Bestätigungscodes wird nicht angezeigt

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 mich auf die Suche nach Fehlern gemacht und sie schließlich wie folgt gelöst:

Fehler 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 nur

;extension=php_gd2.dll

in der php.ini-Datei finden und das Semikolon davor entfernen. Nach dem Neustart von Apache finden Sie dieses

Das Bild des PHP-Bestätigungscodes wird nicht angezeigt

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.

Fehler 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 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, daher müssen Sie das Codierungsformat des Codes in das Stücklisten-freie Format ändern.

Fehler 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() 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);
	}

Hinweis: Wenn Sie eine höhere PHP-Version verwenden, können Sie keine undefinierten Variablen verwenden, da sonst ein Hinweisfehler gemeldet wird. $new_number und $_SESSION['check_checks'] müssen vorher mit isset verwendet werden Verwenden Sie „Überprüfen“ oder fügen Sie, wenn Sie alten Code verwenden, am Anfang error_reporting(E_ALL & ~E_NOTICE) hinzu, um den Hinweisfehler zu blockieren (nicht empfohlen). Verwenden Sie daher isset(), um ihn zu überprüfen, um sicherzustellen, dass er definiert ist. Andernfalls wird der Bestätigungscode möglicherweise nicht angezeigt.

Empfohlenes Tutorial:

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDas Bild des PHP-Bestätigungscodes wird nicht angezeigt. 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