我今天从 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()
我建议您始终严格编码,因此不要关闭严格错误。为什么?您的示例证明了这一点。您正在使用常规方法执行不该执行的操作。
因此,不要关闭严格的错误,而是对您的代码进行这些简单的小修复:)这是值得的,我保证。
优秀的程序员总是愿意接受更简洁的编码,并愿意花时间去学习它。