我如何调试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); 在导致问题的文件中,看看是否改善了事情。

链接地址: http://www.djcxy.com/p/69181.html

上一篇: How do I debug a PHP WSOD?

下一篇: What is a Python equivalent of PHP's var