Le code de vérification php ne s'affiche pas ?
Problème
Aujourd'hui, j'ai créé un nouvel hôte virtuel localement et déployé un petit site Web php que j'avais écrit auparavant, car j'utilisais l'environnement intégré wamp, donc cette situation ne se produit pas. Maintenant, je découvre soudainement que le code de vérification ne peut pas être généré.
J'ai donc commencé mon voyage pour trouver des bugs. J'ai cherché de nombreuses solutions en ligne et je l'ai finalement résolu. Maintenant, je le partage comme suit :
bug1
<.> Lorsque la situation ci-dessus se produit, l'erreur la plus élémentaire est que vous avez peut-être oublié d'installer le module gd en php. Dans l'environnement de fenêtre, il vous suffit de trouver;extension=php_gd2.dll
Si vous êtes dans un environnement Ubuntu, vous devez installer le module gd La commande est
sudo apt-get install php5-gd
Aprè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, alors il peut s'agir du problème suivant
Votre code Il Il est fort probable qu'il ait été édité à l'aide d'un éditeur de texte comme editpuls ou notepad++, donc 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 BOM signifie indiquer à l'éditeur quel encodage le fichier actuel utilise pour faciliter l'identification de l'éditeur. Cependant, bien que la nomenclature ne soit pas affichée dans l'éditeur , elle produira une sortie, tout comme un espace supplémentaire. doubler. . Généralement, j'utilise le format sans nomenclature UTF-8 Vous devez donc changer le format d'encodage du code au format sans nomenclature.bug3
Si vous suivez les deux étapes ci-dessus et constatez que cela ne fonctionne toujours pas, alors vous devez utiliser votre arme tueuse.
Utilisez ob_clean() et videz le cache. La fonction ob_clean est utilisée pour supprimer le contenu du tampon de sortie. Si vous avez de nombreux fichiers image générés, vous devez effacer fréquemment le tampon si vous souhaitez 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); }
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'] doivent être jugés par isset avant utilisation. Ou si vous utilisez un ancien code, ajoutez error_reporting(E_ALL & ~E_NOTICE) au début ; non recommandé) ), utilisez donc isset() pour vérifier qu'il est défini. Sinon, le code de vérification risque de ne pas s'afficher.
Tutoriel recommandé :Tutoriel PHP
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!