Résoudre les problèmes

Déboguer les erreurs dans les applications ou fichiers PHP

Vérifié le 3 min de lecture débogage PHP

Une page blanche ou une erreur 500 indique que la requête ne s'est pas terminée comme prévu, mais n'identifie pas à elle seule la couche ni le composant en échec. L'origine peut être l'application, PHP, une directive de .htaccess, le serveur web ou une limite de ressources.

Reproduisez l'URL ou l'opération exacte et notez l'heure. Commencez par la source la plus ciblée susceptible de contenir cet événement :

  1. Si vous connaissez l'application, consultez d'abord son journal ou son mode de débogage, en gardant désactivé l'affichage des erreurs à l'écran. Pour WordPress, utilisez Déboguer les erreurs dans WordPress.
  2. Si le journal de l'application ne contient pas l'événement, ou s'il s'agit d'un fichier PHP indépendant, consultez le journal PHP de la version effective. S'il n'est pas actif, activez temporairement log_errors depuis cPanel.
  3. Si la requête n'apparaît pas dans PHP, si .htaccess a été modifié ou si l'erreur se produit avant l'exécution de l'application, consultez le journal des erreurs du site ou du serveur web.

L'absence de la requête dans un journal ne prouve pas que l'application a écrasé la configuration. Vérifiez d'abord la version effective de PHP, la portée de la configuration, la destination et les permissions de error_log, et si la requête a atteint cette couche.

N'attribuez l'échec à un composant que lorsque le journal ou une reproduction contrôlée le relie au message concerné. Jusque-là, toute explication reste une hypothèse.

Clore le diagnostic

Conservez la première erreur et sa trace, la modification qui l'a corrigée et le résultat de la même opération répétée. Une ligne d'une bibliothèque peut être l'endroit où une donnée invalide a été détectée, pas celui où elle a été créée ; évitez de modifier ce fichier sans suivre la trace.

Retirez le débogage temporaire, vérifiez que les détails ne s'affichent pas aux visiteurs et ne conservez les journaux que le temps nécessaire. Pour demander de l'aide, fournissez un exemple minimal avec des données fictives ainsi que les versions de PHP et de l'application, sans joindre de configurations complètes contenant des mots de passe.

Cela peut aussi vous aider

Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.