如何调试PHP WSOD?

时间:2010-10-12 04:31:59

标签: php debugging wsod

偶尔我会得到一个神秘的白屏死机PHP错误 - 即使使用以下设置也不会显示或记录任何内容:

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");

我读到某处输出缓冲或内存限制错误可能导致没有错误输出,但之前(例如)我发现一个WSOD只是由__autoload()查找丢失的类文件引起的。

有没有人找到让这些错误可见的方法?我讨厌评论代码块。

由于

1 个答案:

答案 0 :(得分:3)

我最近遇到了类似的问题,结果发现我使用的软件包覆盖了日志记录设置,因此我在某些情况下从未看过日志。因为你把设置放在ini文件中,我猜你使用的是php.ini,所以有很多机会可以更接近运行代码的地方改变设置。

我的建议是将error_reporting(E_ALL | E_STRICT);放入导致问题的文件中,看看是否有所改善。