如何调试PHP WSOD?

如何调试PHP WSOD?,php,debugging,wsod,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_l

我偶尔会看到一个神秘的死亡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"); ini_集合(“错误报告”,E_全部); ini_设置(“显示错误”,真); ini_集(“日志错误”,真); ini设置(“显示启动错误”,true); ini_集(“html_错误”,false); ini_set(“error_log”,“/var/log/php_error_log”); 我在某个地方读到,输出缓冲或内存限制错误可能不会导致错误输出,但之前(例如),我发现一个WSOD仅仅是由寻找丢失的类文件的_uautoload()引起的

有人找到办法让这些错误可见吗?我讨厌注释代码块


谢谢

最近我遇到了一个类似的问题,结果证明我使用的软件包覆盖了日志设置,因此在某些情况下我从未看到日志。因为您将设置放在ini文件中,我猜您使用的是php.ini,所以有很多可能是更接近代码运行位置的东西正在更改设置


我的建议是将
错误报告(E|u ALL | E|u STRICT),并查看是否有改进。

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


我的建议是将
错误报告(E|u ALL | E|u STRICT)代码,并查看是否有改进。

不要专门为应用程序添加设置,除非存在依赖于应用程序的设置,否则应修改php.ini文件并重新启动web服务器,由于很多时候它不会覆盖ini,所以不要专门向应用程序添加设置,除非存在依赖于应用程序的设置,否则您应该修改php.ini文件并重新启动web服务器,因为很多时候它不会覆盖ini。