Heim >Backend-Entwicklung >PHP-Problem >Der PHP-Bestätigungscode kann nicht angezeigt werden
PHP-Bestätigungscode wird nicht angezeigt?
Problem
Heute habe ich lokal einen neuen virtuellen Host erstellt und eine kleine PHP-Website bereitgestellt, die ich zuvor geschrieben habe, weil ich die integrierte Wamp-Umgebung verwendet habe. Daher tritt diese Situation nicht auf. Jetzt stelle ich plötzlich fest, dass der Bestätigungscode nicht generiert werden kann.
Also begann ich meine Reise, um online nach vielen Lösungen zu suchen, und habe sie schließlich 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.
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 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.
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 UTF-8-Signatur genannt. Tatsächlich hat UTF-8 BOM keine Auswirkung auf UFT-8. Es wurde hinzugefügt, um UTF-16 und UTF-32 zu unterstützen > Stückliste, Stücklistensignatur bedeutet, 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 sie wie ein zusätzliches Leerzeichen ausgegeben Linie. .
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.
bug3Wenn 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); }
Jetzt können Sie sehen, dass es wieder normal ist
Hinweis: Wenn Sie eine höhere PHP-Version verwenden, können Sie sonst keine undefinierten Variablen verwenden Ein Benachrichtigungsfehler wird gemeldet. $new_number und $_SESSION['check_checks'] müssen vor der Verwendung von isset beurteilt werden. Wenn Sie alten Code verwenden, fügen Sie am Anfang error_reporting(E_ALL & ~E_NOTICE) hinzu (; nicht empfohlen) ), also verwenden Sie isset(), um zu überprüfen, ob es definiert ist. Andernfalls wird der Bestätigungscode möglicherweise nicht angezeigt.
Empfohlenes Tutorial:
PHP-TutorialDas obige ist der detaillierte Inhalt vonDer PHP-Bestätigungscode kann nicht angezeigt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!