用于阻止PHP执行任何警告或异常的配置

时间:2012-08-21 16:10:42

标签: php exception error-handling

在php中,我将error_reporting设置为E_ALL

我想知道是否有一个集中的方法来执行php STOP执行,如果有任何警告被击中,或者是否有任何异常被击中。完全停止执行。我遇到了很多错误,我在变量中有拼写错误,脚本继续执行。

我发现Strict mode in PHP?提供了一个很好的代码解决方案,但我正在寻找一些允许我完成同样事情的配置。是否存在?

但是我试图避免为我的所有项目设置自定义错误处理程序?有没有人知道在php.ini中这样做的方法?最好是有一种配置php的方法,因此它会显示警告或错误,然后停止..

谢谢。

5 个答案:

答案 0 :(得分:3)

据我所知,除了创建一个立即停止执行的自定义错误处理程序之外,没有办法做到这一点。但是,它只需要大约四行(或使用SomeKittens发布的答案/评论)。

很抱歉,但问题的答案是“不”。

答案 1 :(得分:1)

使用set_error_handler在错误处理程序中抛出异常。

未捕获异常将停止执行。

答案 2 :(得分:1)

自定义错误处理程序是我所知道的最简单的方法。它们并不复杂 - 您可以简单地编写一个立即终止脚本的函数,并指示PHP将其用于错误处理 - 一个(简单)示例:

function my_error_handler($num,$msg) {
 die();
}
set_error_handler("my_error_handler");

答案 3 :(得分:0)

你应用程序应尽快注册自己的错误处理程序。如果有任何警告或错误命中,请在那里中止。请注意语法错误不会被困这种方式。见http://php.net/manual/en/function.set-error-handler.php

答案 4 :(得分:0)

使用 PHP 5.5 zts / non-zts 进行查看,模块 Suhosin 具有此默认行为* eval& E上的E_WARNING func黑名单参数。

*首先警告停止脚本。