PHP - Débogage des bogues

Les programmes fonctionnent rarement correctement la première fois. Beaucoup de choses peuvent mal tourner dans votre programme et provoquer la génération d'un message d'erreur par l'interpréteur PHP. Vous avez le choix de l'emplacement de ces messages d'erreur. Les messages peuvent être envoyés avec d'autres sorties de programme vers le navigateur Web. Ils peuvent également être inclus dans le journal des erreurs du serveur Web.

Pour que les messages d'erreur s'affichent dans le navigateur, définissez display_errors directive de configuration à On. Pour envoyer des erreurs au journal des erreurs du serveur Web, définissezlog_errorssur On. Vous pouvez les définir tous les deux sur Activé si vous voulez des messages d'erreur aux deux endroits.

PHP définit certaines constantes que vous pouvez utiliser pour définir la valeur de error_reporting de telle sorte que seules les erreurs de certains types sont signalées: E_ALL (pour toutes les erreurs à l'exception des avis stricts), E_PARSE (erreurs d'analyse), E_ERROR (erreurs fatales), E_WARNING (avertissements), E_NOTICE (avis) et E_STRICT (avis stricts).

Lors de l'écriture de votre programme PHP, c'est une bonne idée d'utiliser des éditeurs compatibles PHP comme BBEdit ou Emacs. L'une des particularités spéciales de ces éditeurs est la coloration syntaxique. Il change la couleur des différentes parties de votre programme en fonction de ce que sont ces parties. Par exemple, les chaînes sont roses, les mots-clés tels que if et while sont bleus, les commentaires sont gris et les variables sont noires.

Une autre fonctionnalité est la correspondance des guillemets et des crochets, ce qui permet de s'assurer que vos guillemets et crochets sont équilibrés. Lorsque vous tapez un délimiteur de fermeture tel que}, l'éditeur met en évidence l'ouverture {à laquelle il correspond.

Les points suivants doivent être vérifiés lors du débogage de votre programme.

  • Missing Semicolons- Chaque instruction PHP se termine par un point-virgule (;). PHP n'arrête pas de lire une instruction jusqu'à ce qu'elle atteigne un point-virgule. Si vous omettez le point-virgule à la fin d'une ligne, PHP continue à lire l'instruction sur la ligne suivante.

  • Not Enough Equal Signs- Lorsque vous demandez si deux valeurs sont égales dans une instruction de comparaison, vous avez besoin de deux signes égaux (==). Utiliser un signe égal est une erreur courante.

  • Misspelled Variable Names- Si vous avez mal orthographié une variable, PHP la comprendra comme une nouvelle variable. Rappelez-vous: Pour PHP, $ test n'est pas la même variable que $ Test.

  • Missing Dollar Signs - Un signe dollar manquant dans un nom de variable est vraiment difficile à voir, mais au moins il se traduit généralement par un message d'erreur pour que vous sachiez où rechercher le problème.

  • Troubling Quotes- Vous pouvez avoir trop, trop peu ou le mauvais type de citations. Vérifiez donc un nombre équilibré de citations.

  • Missing Parentheses and curly brackets - Ils devraient toujours être par paires.

  • Array Index - Tous les tableaux doivent commencer à zéro au lieu de 1.

De plus, gérez correctement toutes les erreurs et dirigez tous les messages de trace dans le fichier journal système de sorte que si un problème survient, il sera connecté au fichier journal système et vous serez en mesure de déboguer ce problème.