在php中,我将error_reporting
设置为E_ALL
。
我想知道是否有一个集中的方法来执行php STOP执行,如果有任何警告被击中,或者是否有任何异常被击中。完全停止执行。我遇到了很多错误,我在变量中有拼写错误,脚本继续执行。
我发现Strict mode in PHP?提供了一个很好的代码解决方案,但我正在寻找一些允许我完成同样事情的配置。是否存在?
但是我试图避免为我的所有项目设置自定义错误处理程序?有没有人知道在php.ini中这样做的方法?最好是有一种配置php的方法,因此它会显示警告或错误,然后停止..
谢谢。
答案 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黑名单参数。
*首先警告停止脚本。