Maison > Article > développement back-end > Que dois-je faire si le code de vérification php ne peut pas être affiché ?
Solution au problème selon lequel le code de vérification PHP ne peut pas être affiché : 1. Recherchez ";extension=php_gd2.dll" dans le fichier php.ini et supprimez le point-virgule 2. Installez le module gd via l'installation ; commande ; 3. Utilisez la fonction ob_clean () pour vider le cache.
Recommandé : "Tutoriel vidéo PHP"
Aujourd'hui, j'ai créé un nouvel hôte virtuel localement et déployé un petit site Web php que j'avais écrit auparavant. Parce que j'utilisais l'environnement intégré wamp auparavant, cette situation ne s'est pas produite. Maintenant, je découvre soudainement que le code de vérification ne peut pas être généré.
J'ai donc commencé un voyage pour trouver des bugs. J'ai cherché de nombreuses solutions sur Internet et je l'ai finalement résolu. Maintenant, je le partage comme suit :
Quand le. La situation ci-dessus se produit, la solution finale est Une erreur fondamentale est que vous oubliez probablement d'installer le module gd en php.
Dans l'environnement de fenêtre, il vous suffit de trouver
;extension=php_gd2.dll
dans le fichier php.ini et de supprimer le point-virgule devant. Après avoir redémarré Apache, vous pouvez le trouver dans phpinfo()
Si vous êtes dans un environnement Ubuntu, vous devez installer le module gd La commande estsudo apt-get install php5-gdAprès l'installation, vous pouvez également voir le module ci-dessus. bug2Si vous constatez que cela ne fonctionne toujours pas après l'installation ci-dessus, cela peut être le problème suivant Votre code utilise probablement quelque chose comme S'il est modifié avec un éditeur de texte tel que editpuls ou notepad++, leur format d'encodage par défaut est utf-8 avec BOM.
La nomenclature UTF-8 est également appelée signature UTF-8. En fait, la nomenclature UTF-8 n'a aucun effet sur UFT-8. Elle est ajoutée pour prendre en charge UTF-16 et UTF-32
BOM, la signature de BOM signifie indiquer à l'éditeur quel encodage le fichier actuel utilise pour faciliter l'identification de l'éditeur, mais bien que la nomenclature soit dans l'éditeurIl ne sera pas affiché, mais il produira une sortie, tout comme une ligne vierge supplémentaire.
Généralement, j'utilise le format sans nomenclature UTF-8
vous devez donc changer le format d'encodage du code en
bug3
Utilisez ob_clean() et videz le cache.
La fonction de ob_clean est de supprimer le contenu du tampon de sortie. Si vous avez de nombreux fichiers image générés, vous devez y accéder correctement.
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);
}
Maintenant, tout le monde peut voir que tout est revenu à la normale
Remarque : Si vous utilisez une version supérieure de PHP, vous ne pouvez pas utiliser de variables non définies, sinon une erreur de notification sera signalée, $new_number et $_SESSION ['check_checks'] Vous devez utiliser isset pour juger avant utilisation, ou si vous utilisez un ancien code, ajoutez error_reporting(E_ALL & ~E_NOTICE) au début pour bloquer les erreurs de notification (non recommandé), utilisez donc isset() pour juger, pour être sûr qu'il est défini. Sinon, le code de vérification risque de ne pas s'afficher.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!