如何禁用 E_STRICT

9 浏览
0 Comments

如何禁用 E_STRICT

我需要关闭E_STRICT错误报告。我在我的php.ini中设置了error_reporting = E_ALL & ~E_STRICT,但似乎被忽略了。我在我的代码中尝试了这个:

ini_set('error_reporting', E_NOTICE);

仍然没有效果!请帮忙解决。

0
0 Comments

问题的原因是使用了一个框架,但没有禁用E_STRICT错误报告。解决方法是在第一个被调用的index.php文件中添加以下代码:

error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('display_errors', 'On');

但要确保添加代码的是整个应用程序中最先被调用的index.php文件,对于某些框架来说,这样做能够减少一些麻烦。

另外,大多数框架都有自己的配置文件,用于区分生产环境和开发环境,并且它们有自己的处理方式,所以我建议从那里开始解决问题。查阅文档,找出是否有需要更改的内容,很可能只需要在配置文件中进行简单的修改。

0
0 Comments

如何禁用E_STRICT错误

当你有自己的错误处理程序时(搜索代码中的set_error_handler),则error_reporting配置值将被忽略:

重要的是要记住,标准的PHP错误处理程序对于error_types指定的错误类型是完全绕过的,除非回调函数返回FALSE。error_reporting()的设置将不起作用,无论如何都会调用你的错误处理程序 - 但是你仍然可以读取当前的error_reporting值并做出适当的操作。特别要注意的是,如果导致错误的语句前面加上了@错误控制运算符,这个值将为0。

http://php.net/manual/en/function.set-error-handler.php

此外,如果错误发生在调用error_reporting(...)(或ini_set('error_reporting, ...'))的同一文件中,从error_reporting配置中移除E_STRICT可能会失败。

+1,因为这是最有帮助的答案。在CodeIgniter中,我创建了一个名为ExceptionHook的钩子类,它调用了一个错误处理程序,如下所示:

set_error_handler(array('ExceptionHook', 'exception_error_handler'), E_ALL);

如果我将E_STRICT传递给第二个参数,一个关键的传统库将失败,所以我需要关闭E_STRICT错误。

同意,最有帮助的一个。互联网上充满了^/~E_STRICT的东西,但我的问题是在错误处理程序中..太棒了!

0
0 Comments

E_STRICT是PHP中的一个错误级别,它会报告一些严格模式下的编码规范问题。有时候我们希望禁用E_STRICT错误报告,本文将介绍E_STRICT错误出现的原因以及解决方法。

在上述代码中,使用了error_reporting函数来设置错误报告级别。E_ALL表示报告所有错误,而E_STRICT是其中的一个错误级别。通过使用E_ALL ^ E_STRICT,我们将禁用E_STRICT错误的报告,只报告其他类型的错误。

E_STRICT错误主要是为了强制开发人员遵循一些编码规范,以提高代码的质量和可维护性。然而,有时候我们可能不希望在开发阶段被这些规范所限制,而是更关注其他类型的错误。因此,禁用E_STRICT错误报告是一个常见的需求。

通过设置error_reporting函数的参数,我们可以灵活地控制错误报告级别。在这里,使用了按位异或运算符^来将E_STRICT从错误报告级别中排除。这样一来,只有E_STRICT以外的错误才会被报告。

总结起来,通过设置错误报告级别并排除E_STRICT错误,我们可以禁用E_STRICT错误的报告,只关注其他类型的错误。这对于开发人员来说是一个常见的需求,以便更专注于其他类型的错误修复和优化工作。

0