我如何调试PHP 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");
我在某处读到输出缓冲或内存限制错误可能导致没有错误输出,但之前(例如)我找到了一个简单地由__autoload()寻找缺少的类文件引起的WSOD。
有没有人找到一种方法来看到这些错误? 我讨厌评论代码块。
谢谢
最近我有类似的问题,结果我使用的软件包覆盖了日志记录设置,因此我在某些情况下从未看到日志。 因为你把设置放在ini文件中,我猜你正在使用php.ini,所以有很多机会更接近代码运行的地方正在改变设置。
我的建议是将error_reporting(E_ALL | E_STRICT);
在导致问题的文件中,看看是否改善了事情。