Error handling 菲律宾比索5.3:“;声明。。。应与……兼容。”;错误

Error handling 菲律宾比索5.3:“;声明。。。应与……兼容。”;错误,error-handling,php,php-ini,Error Handling,Php,Php Ini,升级到PHP5.3后,我的应用程序中充斥着 “对……的声明应与……的声明相一致。” 样式错误。我理解这些错误的本质,但我希望禁用它们 是“E_ALL&~(E_NOTICE | E_DEPRECATED)”,但此错误继续显示。我以为它包含在E\u STRICT中,但我错了吗?这是一个错误。将php.ini设置更改为E_ALL&~(E_注意| E_已弃用| E_严格) 但是默认情况下应该关闭它(它不包括在E_ALL中)。所以如果你得到了它们,那就意味着它在某个地方被打开了。问题是,在哪里?是否在文件

升级到PHP5.3后,我的应用程序中充斥着

“对……的声明应与……的声明相一致。”

样式错误。我理解这些错误的本质,但我希望禁用它们

“E_ALL&~(E_NOTICE | E_DEPRECATED)”
,但此错误继续显示。我以为它包含在
E\u STRICT
中,但我错了吗?

这是一个错误。将php.ini设置更改为
E_ALL&~(E_注意| E_已弃用| E_严格)


但是默认情况下应该关闭它(它不包括在
E_ALL
中)。所以如果你得到了它们,那就意味着它在某个地方被打开了。问题是,在哪里?是否在文件中的任何位置声明
错误报告(…)
?如果是,请检查它们。如果没有,请确保您正在编辑正确的php.ini文件(检查
phpinfo()
)。。。您可以随时为
E\u STRICT
执行
grep
,以尝试找到它正在打开的位置…

让我告诉您一个好的设置

您可以更改
php.ini
,在此文件中,您可以搜索一个句子作为
ignore\u repeated\u errors=Off
,您应该将Off状态更改为on状态


如果您也遇到相同类型的错误,您应该设置错误级别常量。

它没有说明错误的类型吗?这些确实是
E\u严格的
错误,但在我看来,您应该修复它们的原因,而不是报告。保持你的代码干净,这不是一个干净代码的问题。该错误是由于子类的方法比父类中的同一方法具有更多参数造成的。特别是,它是控制器类的_defaultAction()函数。扩展的默认操作很可能接受父类不接受的参数。我可以很容易地使用func_get_args()来避免这个问题,但是方法声明完全没有相关的意义。也可以使用
错误报告(-1)
来启用它,这是在开发机器上启用所有错误的推荐方法。我在php.ini中更改了设置,但错误仍然出现。它不会在其他任何地方设置(通过grep检查),并且在运行时更改错误报告值没有任何效果。此外,错误中引用的行始终是声明子类的行,如果这有助于说明问题的话。为了完整性,从5.4开始,
E_STRICT
包含在
E_ALL
中。