Solution au problème selon lequel l'image du code de vérification PHP ne peut pas être affichée

(*-*)浩
Libérer: 2023-02-26 14:46:01
original
3707 Les gens l'ont consulté

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é.

Solution au problème selon lequel l'image du code de vérification PHP ne peut pas être affichée

J'ai donc commencé mon voyage pour trouver des bugs. J'ai cherché de nombreuses façons sur Internet 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. (Apprentissage recommandé :

Tutoriel vidéo PHP)

Dans l'environnement fenêtre, il vous suffit de trouver

;extension=php_gd2.dll
Copier après la connexion

dans le fichier php.ini et de supprimer le point-virgule devant dessus, redémarrez Après Apache, vous pouvez trouver ceci dans phpinfo()

Si vous êtes dans un environnement Ubuntu, vous devez installer le module gd, la commande est Solution au problème selon lequel limage du code de vérification PHP ne peut pas être affichée

sudo apt-get install php5-gd
Copier après la connexion

Après installation, vous pouvez également voir le module ci-dessus.

bug2

Si 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. signature est Elle indique simplement à 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 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 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 le tampon fréquemment si vous souhaitez y accéder correctement.

public function create()
{
ob_clean();
$a = new verify();
session::set(&#39;captcha&#39;, strtolower($a->create(4, 15)));
view::assign("captcha", $a);
view::display("captcha");
exit(0);
}
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal