Configuration de PHP
2 entrées dans php.ini dicter la sortie des erreurs :
display_errors
error_reporting
Sur production , display_errors
est généralement réglé sur Off
(Ce qui est une bonne chose, car l'affichage des erreurs dans les sites de production n'est généralement pas souhaitable !)
Cependant, en développement il doit être réglé sur On
pour que les erreurs soient affichées. Vérifiez !
error_reporting
(à partir de PHP 5.3) est défini par défaut à E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
(c'est-à-dire que tout est affiché sauf les avis, les normes strictes et les avis de dépréciation). En cas de doute, réglez-le sur E_ALL
pour afficher tous les erreurs. Vérifiez !
Whoa whoa ! Pas de vérification ! 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 est malheureusement indisponible. Mais n'ayez crainte ! Nous avons autres options !
Configuration de l'exécution
Dans le script souhaité, nous pouvons modifier les entrées php.ini en cours d'exécution ! Ce qui signifie qu'il sera exécuté quand le script sera exécuté ! Super !
error_reporting(E_ALL);
ini_set("display_errors", "On");
Ces deux lignes auront le même effet que la modification des entrées du php.ini comme ci-dessus ! Génial !
J'obtiens toujours une page blanche/une erreur 500 !
Cela signifie que le script n'avait même pas été exécuté ! Cela arrive généralement quand on a une erreur de syntaxe !
Avec des erreurs de syntaxe, le script n'arrive même pas à s'exécuter. Il échoue à temps de compilation Ce qui signifie qu'il utilisera les valeurs de php.ini, qui, si vous ne les avez pas modifiées, peuvent ne pas permettre l'affichage des erreurs.
Journaux d'erreurs
De plus, par défaut, PHP enregistre les erreurs. En hébergement mutualisé, il peut se trouver dans un dossier dédié ou sur le même dossier que le script incriminé.
Si vous avez accès au fichier php.ini, vous pouvez le trouver sous la rubrique error_log
l'entrée.