Il n’est pas rare lorsqu’on développe de tomber sur des erreurs, le plus souvent on peut avoir des informations sans trop de difficulté, que soit par le biais des logs et/ou de l’affichage de ces erreurs grâce aux options de configuration de PHP.

Il arrive cependant dans certains cas, que malgré tout cela, on se trouve face à une page blanche, aucune indication, aucun code en sortie, rien de spécial sur les traceurs et impossibilité de savoir où placer un code qui permettrait d’imprimer le buffer.

Étant tombé sur cette situation déplaisante récemment, et ayant perdu un peu de temps, je me suis dit qu’il n’était pas possible que ce problème reste sans réponse, j’ai donc cherché grâce à mon ami, celui qui rend bien des services mais qui prend de plus en plus de place dans nos vies, et en écumant les forums, et non sans mal, j’ai réussi à trouver un bout de code, très simple à mettre en place et qui fonctionne parfaitement contrairement à un tas d’autres.

Ce code est le suivant :

function shutdown() {
     var_dump(error_get_last());
}

register_shutdown_function('shutdown');

Ce bout de code à placer dans votre script principal, va permettre de trapper la dernière erreur dans le buffer dès que le script va s’arrêter.

Le fonction register_shutdown_function va permettre de définir une fonction lorsque le script s’arrête, dans notre cas, c’est un simple var_dump de la dernière erreur, mais on peut tout à fait envisager un système de log qui reprendrait l’ensemble des erreurs, ce qui permettrait de faciliter le debuggage en cas de white screen of death.

J’espère que ce code pourra en aider, il m’a bien aidé en tout cas.

N’hésitez pas à laisser vos commentaires et à visiter la boutique.

Répondre

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

+ cinquante trois = 57