PHP 将警告设置为致命

标签 php apache configuration

有没有办法在 php.ini 或 apache 级别指定脚本执行应该在任何警告时停止?我尝试通过 google 和 stackoverflow 进行搜索,但还没有找到任何相关信息。我知道 set_error_handler() 函数,但我希望在 php.ini 级别执行此操作。

最佳答案

2021 年 9 月编辑: OP 不希望像我建议的那样通过使用自定义错误函数来解决这个问题,但是这个问题为这个问题的人提供了相当多的流量,这些人对使用自定义错误函数非常满意。
可以使用自定义错误函数。

// Custom error function (even triggers for warnings)
set_error_handler(function($severity, $message, $file, $line) {
    if (error_reporting() & $severity) {
        throw new ErrorException($message, 0, $severity, $file, $line);
   }
});
在我使用这段代码的项目中,我制作了这个小辅助函数来在项目的不同部分进行切换。可能的值为 0、1 和 2
function updateErrorHandling($state) {
    //custom error handler or standard
    if ($state > 1) {
        // Custom error function (even triggers for warnings)
        set_error_handler(function($severity, $message, $file, $line) {
            if (error_reporting() & $severity) {
                throw new ErrorException($message, 0, $severity, $file, $line);
            }
        });
    } else {
        // Standard Exception Handling on / off
        ini_set('display_errors', $state);
        ini_set('display_startup_errors', $state);
        error_reporting($state == 1 ? E_ALL : 0);
    }
}

关于PHP 将警告设置为致命,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3234325/

相关文章:

elasticsearch - 如何在 .NET Core 3.1 的 appsettings 中配置 Serilog Elasticsearch 错误处理?

spring - 如何在 logback 配置之前实例化注入(inject)的类(使用 Spring)

php - 设置mysql "search"页面

javascript - 插入外部页面后更改所有href

linux - 在端口 8080 上阻止对 Jira 的访问

php - 如何让 PHP 在遇到错误时显示 Apache 的 500 错误页面,而不是空白页面?

apache - 如何验证 Apache 缓存是否正常工作?

configuration - kafka集群配置

php - UTF-8贯穿始终

PHP获取带有 anchor 的网站内容