Erreur :
J'ai créé un nouvel hôte virtuel localement aujourd'hui et mis celui précédemment écrit lors du déploiement un petit site Web PHP, cette situation ne s'est pas produite en raison de l'environnement intégré wamp utilisé auparavant. 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 :
Méthode 1 :
;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
Méthode 2 :
Si vous constatez que cela ne fonctionne toujours pas après l'installation ci-dessus, le problème suivant peut en être la cause. Votre code est très probablement modifié à l'aide d'un éditeur de texte comme editpuls ou notepad++, puis 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. La signification de la signature de nomenclature est d'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 extra. ligne vide. 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.Méthode 3 :
Si vous suivez les deux étapes ci-dessus et constatez que cela ne fonctionne toujours pas, alors vous devez utiliser votre atout. Utilisez ob_clean() pour vider 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 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 des erreurs seront signalées, $new_number et $_SESSION[' check_checks '] doit être jugé avec isset 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 et vous assurer qu'il est défini. , sinon le code de vérification risque de ne pas s'afficher. Tutoriel vidéo recommandé :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!