在PHP 5.4中隐藏严格错误

我今天从PHP 5.3升级到PHP 5.4。 现在我的脚本显示了很多错误信息。 如何隐藏它们而不使用error_reporting(0); 里面的PHP文件?

我使用这个:

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

在PHP 5.4中,E_STRICT成为E_ALL的一部分 – ( 文档 )。 我的build议是将指令显示为closures错误,并logging错误,这可以通过在php.ini中设置以下内容来完成:

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

如果你不想沿着这条路线走,仍然希望显示错误,只要模拟PHP <5.4的function,你最好是做这样的事情:

 error_reporting = E_ERROR | E_WARNING | E_PARSE 

还应该提到的是,不同的人已经报告过无法从E_ALL中排除E_STRICT,就像你已经尝试了一个bug一样,所以这可能会在以后的版本中改变,以允许你习惯的function。

 error_reporting = (E_ALL ^ E_STRICT) 

这可以帮助吗?

常规方法意味着从类(对象)的实例中调用。

像这样:$ object = new Class(); $对象 – >function();

不过,你直接从课堂上调用它。

像这样:class :: function();

这是什么STATIC方法。

改变这个:public function absoluteURI()

为此:public static function absoluteURI()

我build议你总是严格编码,所以不要closures严格的错误。 为什么? 你的例子certificate了这一点。 你正在使用一个常规的方法去做一些不该做的事情。

所以,而不是closures严格的错误,使这些简单的小修正你的代码:)这是值得的,我保证。

一个好的程序员总是打开整洁的编码,并花时间去学习它。