Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn der PHP-Bestätigungscode das Bild nicht anzeigt?

Was soll ich tun, wenn der PHP-Bestätigungscode das Bild nicht anzeigt?

藏色散人
藏色散人Original
2020-12-01 09:20:292548Durchsuche

Lösung für das Problem, dass der PHP-Verifizierungscode keine Bilder anzeigt: 1. Entfernen Sie das Semikolon in „;extension=php_gd2.dll“ in der php.ini-Datei. 2. Ändern Sie das Codierungsformat des Codes in ein BOM. freies Format; 3. Verwenden Sie ob_clean, um den Cache zu löschen.

Was soll ich tun, wenn der PHP-Bestätigungscode das Bild nicht anzeigt?

Empfohlen: „PHP-Video-Tutorial

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 5.6. Diese Methode ist für alle Computermarken geeignet.

Lösung für das Problem, dass der PHP-Bestätigungscode keine Bilder anzeigt:

Problem


Heute habe ich lokal einen neuen virtuellen Host erstellt und eine kleine PHP-Website bereitgestellt, die ich zuvor geschrieben habe, weil ich zuvor Wamp verwendet habe Integrierte Umgebung, sodass diese Situation nicht auftritt. Jetzt stelle ich plötzlich fest, dass der Bestätigungscode nicht generiert werden kann.

Also habe ich meine Reise mit der Suche nach Fehlern im Internet begonnen und sie schließlich wie folgt gelöst:

bug1

Wenn die obige Situation auftritt, ist der grundlegendste Fehler, dass Sie es sind wahrscheinlich vergessen, dass das GD-Modul in PHP installiert ist.

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 können Sie es in phpinfo() finden sind auf Ubuntu Unter der Umgebung 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.

bug2

Wenn Sie feststellen, dass es nach der oben genannten Installation immer noch nicht funktioniert, liegt möglicherweise das folgende Problem vor:

Ihr Code wurde wahrscheinlich mit einem Texteditor wie Editpuls oder Notepad++ bearbeitet. Ihr Standardcodierungsformat ist dann utf -8 mit Stückliste.

UTF-8 BOM wird auch UTF-8-Signatur genannt. Tatsächlich hat UTF-8 BOM keine Auswirkung auf UFT-8. Es wird hinzugefügt, um UTF-16 und UTF-32 zu unterstützen Signatur Die Bedeutung besteht darin, dem Editor mitzuteilen, welche Codierung die aktuelle Datei verwendet, um die Identifizierung des Editors zu erleichtern. Obwohl die Stückliste nicht im Editor angezeigt wird

, wird eine Ausgabe erzeugt, genau wie eine zusätzliche Leerzeile. Im Allgemeinen verwende ich das UTF-8-Stücklisten-freie Format

Sie müssen also das Kodierungsformat 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 Ihren Trumpf einsetzen.

Verwenden Sie ob_clean(), um den Cache zu leeren.

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

Jetzt kann jeder sehen, dass alles wieder normal ist

Hinweis: Wenn Sie eine höhere PHP-Version verwenden, können Sie keine undefinierten Variablen verwenden, andernfalls wird ein notice-Fehler gemeldet, $new_number und $_SESSION['check_checks'] müssen vor der Verwendung mit isset beurteilt werden, sonst können Sie sie verwenden Fügen Sie bei altem Code am Anfang error_reporting(E_ALL & ~E_NOTICE); hinzu, um Benachrichtigungsfehler zu blockieren (nicht empfohlen). Verwenden Sie daher isset(), um sicherzustellen, dass es definiert ist. Andernfalls wird der Bestätigungscode möglicherweise nicht angezeigt.

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn der PHP-Bestätigungscode das Bild nicht anzeigt?. 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