2010-10-12 16 views
0

Très de temps en temps je reçois une erreur de PHP mystifiant écran blanc de la mort - rien est affiché ou enregistré, même avec les paramètres suivants:Comment déboguer un PHP WSOD?

 
ini_set("error_reporting",E_ALL); 
ini_set("display_errors",true); 
ini_set("log_errors",true); 
ini_set("display_startup_errors",true); 
ini_set("html_errors",false); 
ini_set("error_log","/var/log/php_error_log"); 

je l'ai lu quelque part que mémoire tampon de sortie ou des erreurs de limiter la mémoire peuvent entraîner pas de sortie d'erreur, mais précédemment (par exemple) j'ai trouvé un WSOD simplement provoqué par __autoload() à la recherche d'un fichier de classe manquant.

Est-ce que quelqu'un a trouvé un moyen de rendre ces erreurs visibles? Je déteste commenter des blocs de code.

Merci

+0

N'ajoutez pas de paramètres spécifiques à votre application, sauf si cela dépend de l'application, vous devrez modifier le fichier php.ini et redémarrer votre serveur web, car la plupart du temps il ne remplace pas l'ini. – RobertPitt

Répondre

3

moi avons eu un problème similaire récemment et il est apparu que le logiciel que j'utilisais était PRÉPONDÉRANTS les paramètres de journalisation afin que je ne voyais les journaux dans certaines situations. Parce que vous mettez les paramètres dans le fichier ini, je suppose que vous utilisez php.ini, il y a beaucoup de possibilités que quelque chose de plus près de l'endroit où le code est exécuté est de modifier les paramètres.

Mon conseil serait de mettre error_reporting(E_ALL | E_STRICT); dans le fichier qui cause le problème et voir si cela améliore les choses.

+0

Simple bonne réponse, merci beaucoup. – DrCord