Configuration PHP
2 entrées dans php.ini dictent la sortie des erreurs:
display_errors
error_reporting
En production , display_errors
est généralement défini sur Off
(ce qui est une bonne chose, car l'affichage d'erreur sur les sites de production n'est généralement pas souhaitable!).
Cependant, en cours de développement , il doit être défini sur On
, afin que les erreurs soient affichées. Vérifiez !
error_reporting
(à partir de PHP 5.3) est défini par défaut sur E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
(ce qui signifie que tout est affiché à l'exception des avis, des normes strictes et des avis de dépréciation). En cas de doute, réglez-le sur E_ALL
pour afficher toutes les erreurs. Vérifiez !
Whoa whoa! Pas de chèque! Je ne peux pas changer mon php.ini!
C'est une honte. Habituellement, les hôtes partagés n'autorisent pas la modification de leur fichier php.ini, et donc, cette option n'est malheureusement pas disponible. Mais n'ayez crainte! Nous avons d' autres options !
Configuration d'exécution
Dans le script souhaité, nous pouvons modifier les entrées php.ini en runtime! Cela signifie que cela s'exécutera lorsque le script s'exécutera! Doux!
error_reporting(E_ALL);
ini_set("display_errors", "On");
Ces deux lignes feront le même effet que la modification des entrées php.ini comme ci-dessus! Impressionnant!
Je reçois toujours une erreur de page blanche / 500!
Cela signifie que le script n'avait même pas été exécuté! Cela se produit généralement lorsque vous avez une erreur de syntaxe!
Avec des erreurs de syntaxe, le script ne parvient même pas à l'exécution. Il échoue au moment de la compilation , ce qui signifie qu'il utilisera les valeurs dans php.ini, qui si vous n'aviez pas changé, pourraient ne pas permettre l'affichage des erreurs.
Journaux d'erreurs
De plus, PHP par défaut enregistre les erreurs. Dans l'hébergement mutualisé, il peut être dans un dossier dédié ou sur le même dossier que le script incriminé.
Si vous avez accès à php.ini, vous pouvez le trouver sous l' error_log
entrée.