隐藏 PHP 5.4 上的 STRICT 错误

隐藏 PHP 5.4 上的 STRICT 错误

我今天从 PHP 5.3 升级到了 PHP 5.4。现在我的脚本显示了很多错误消息。如何在不使用error_reporting(0);内部 php 文件的情况下隐藏它们?

我用的是这个:

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT

答案1

在 PHP 5.4 中,E_STRICT 成为 E_ALL 的一部分 - (文档)。我的建议是关闭显示错误的指令,而是记录错误,这可以通过在 php.ini 中设置以下内容来实现:

display_errors = off
log_errors = on
error_log = /path/to/logs/php_error.log

如果您不想走这条路,仍然希望显示错误并简单地模拟 PHP <5.4 功能,那么您最好执行以下操作:

error_reporting = E_ERROR | E_WARNING | E_PARSE

还应该提到的是,很多人报告说无法以您尝试的方式将 E_STRICT 从 E_ALL 中排除,这是一个错误,因此这可能会在以后的版本中发生变化,以允许您习惯的功能。

答案2

error_reporting = (E_ALL ^ E_STRICT)

这有帮助吗?

答案3

常规方法应该从类(对象)的实例中调用。

像这样:$object = new Class(); $object->function();

但是你是直接从课堂上调用它的。

像这样:class::function();

静态方法的用途如下。

改变这个:公共函数absoluteURI()

对此: public static function absoluteURI()

我建议您始终严格编码,因此不要关闭严格错误。为什么?您的示例证明了这一点。您正在使用常规方法执行不该执行的操作。

因此,不要关闭严格的错误,而是对您的代码进行这些简单的小修复:)这是值得的,我保证。

优秀的程序员总是愿意接受更简洁的编码,并愿意花时间去学习它。

相关内容