用于停止PHP执行的配置,以及任何警告或异常


A configuration to stop PHP execution an any warnings or exceptions

在php中,我的error_reporting设置为E_ALL

我想知道,如果遇到任何警告,或者遇到任何异常,是否有一种集中的方法可以使php停止执行。完全停止执行。我遇到过很多错误,变量中有拼写错误,脚本继续执行。

我在PHP中找到了严格模式?这提供了一个很好的代码解决方案,但我正在寻找某种可以让我完成同样任务的配置。一个存在吗?

但我正在努力避免为我的所有项目使用自定义错误处理程序?有人知道在php.ini中可以做到这一点吗?最好有一种配置php的方法,这样它就会显示警告或错误并停止。。

谢谢。

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

很抱歉,您的问题的答案是"否"。

使用set_error_handler在错误处理程序中引发异常。

取消捕获异常将停止执行。

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

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

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

PHP 5.5 zts/non-zts中,模块Suhosin具有此默认行为*,E_WARNING为eval&func黑名单参数。

*在第一个警告时停止脚本。