为什么没有丢失的类文件会抛出PHP错误?
问题描述:
整理出this issue。问题是类文件(和文件夹,实际上)丢失。困惑为什么display_errors = On
和E_ALL | E_STRICT
定义(和Apache重新启动),这将导致死亡的白色屏幕,而不是一个错误。为什么没有丢失的类文件会抛出PHP错误?
phpinfo()显示主值和本地值是相同的,所以我假设错误设置没有被覆盖在代码库的某处(在.htaccess或ini_set()
调用中)。
编辑
新的对象实例化是在这里:
$type['content_object'] = new $type['handler_class']();
我也尝试实例化它没有变,即new Foo();
但还是给了WSOD。
答
可能有激活的替代错误处理程序。在错误行(可能多次)之前调用restore_error_handler()
以重新激活PHP的默认错误处理程序。
将错误报告与@操作符一起抑制的包含在include/require语句中的文件内部的代码行是否会引发错误? (即在一个名为'@require('file.php')的文件中''。我已经做过几次了。 – Pete171
@ Pete171:我会检查。 – gravyface
@Pete:它已经在另一个方法中实例化了class;在顶部有两个'require_once'行,但没有'@' – gravyface