Comment obtenir des messages d'erreur utiles en PHP
P粉590929392
2023-08-20 14:30:17
<p>Plusieurs fois, j'essaierai d'exécuter un script PHP et j'obtiendrai 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 de comprendre ce qui ne va pas. J'ai fini par commenter le code, en ajoutant des instructions "echo" ici et là, etc. pour essayer de réduire la portée du problème. Mais il doit y avoir une meilleure solution, non ? </p>
<p>Existe-t-il un moyen pour que PHP génère un message d'erreur utile comme le fait Java ? </p>
Le code suivant active toutes les erreurs :
Vous pouvez également vous référer au lien suivant :
Afficher les erreurs est désactivé par défaut car vous ne voulez pas que les « clients » voient les messages d'erreur.
Veuillez consulter cette page dans la documentation PHP pour obtenir des informations sur deux directives :
error_reporting
和display_errors
。您可能想更改的是display_errors
.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 est désactivée). Pour activer la journalisation des erreurs, assurez-vous que
log_errors
配置指令设置为On
. Les journaux sont également utiles lorsque l'erreur n'est pas causée par PHP mais par le serveur Web.(2) Vous pouvez ajouter les 2 lignes de code suivantes pour vous aider à déboguer les erreurs non syntaxiques qui se produisent dans le même fichier :
Notez que sur un serveur de production, ce dernier doit être défini sur
Off
(mais uniquement ce dernier, car vous devez toujours connaître à partir des fichiers journaux toutes les erreurs survenues).Cependant, pour les erreurs de syntaxe qui se produisent 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 le fichier php.ini, vous pouvez également essayer d'ajouter les lignes suivantes à votre fichier .htaccess, bien que cela soit rarement pris en charge actuellement :
(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 des débogueurs qui fournissent des informations plus détaillées. (Le débogueur PhpEd est très similaire à xdebug et intégré directement dans l'éditeur, vous pouvez donc tout faire avec un seul programme.)