Comment obtenir des messages d'erreur utiles en PHP ?
P粉283559033
2023-08-23 17:26:55
<p>J'essaie souvent d'exécuter un script PHP et j'obtiens simplement un écran vide. Aucun message d'erreur ; juste un écran vide. La cause peut être une simple erreur de syntaxe (parenthèses incorrectes, point-virgule manquant), un échec d'appel de fonction ou autre chose. </p>
<p>Il est difficile d’identifier le problème. J'ai fini par commenter le code, en tapant des instructions "echo" ici et là, etc. pour essayer de cerner le problème. Mais il doit y avoir une meilleure solution, non ? </p>
<p>Existe-t-il un moyen de faire en sorte que PHP produise des messages d'erreur utiles, comme le fait Java ? </p>
Ce qui suit active toutes les erreurs :
Voir également le lien ci-dessous
Afficher les erreurs est désactivé par défaut car vous ne voulez pas que les « clients » voient les messages d'erreur.
Consultez cette page dans la documentation PHP pour obtenir des informations sur 2 directives :
error_reporting
和display_errors
。display_errors
Probablement un bug que vous souhaitez modifier.Vous avez donc 3 options :
(1) Vous pouvez vérifier le fichier journal des erreurs car il contiendra toutes les erreurs (sauf si la journalisation a été désactivée). Pour activer la journalisation des erreurs, assurez-vous de modifier
log_errors
配置指令设置为On
. Les journaux sont également utiles lorsque l'erreur ne se produit pas dans PHP mais est émise par le serveur Web.(2) Vous pouvez ajouter les deux lignes suivantes, qui vous aideront à déboguer les erreurs non syntaxiques qui se produisent dans le même fichier :
Notez que sur un serveur live, ce dernier doit être réglé sur
关闭
(mais uniquement ce dernier, car vous devez toujours connaître à partir du fichier journal toutes les erreurs survenues).Cependant, pour les erreurs de syntaxe survenant dans le même fichier, les commandes ci-dessus ne fonctionneront pas et vous devez les activer dans php.ini. Si vous ne parvenez pas à modifier php.ini, vous pouvez également essayer d'ajouter les lignes suivantes à votre fichier .htaccess, bien que cela soit rarement pris en charge de nos jours :
(3) Une autre option consiste à utiliser un éditeur qui vérifie les erreurs au fur et à mesure que vous tapez, tel que PhpEd, VSCode ou PHPStorm. Ils sont tous livrés avec un débogueur qui fournit des informations plus détaillées. (Le débogueur PhpEd est très similaire à xdebug et est intégré directement dans l'éditeur afin que vous puissiez tout faire avec 1 seul programme.)