PHP 5.3: "Declaration of ... should be compatible with that of ..." error

Ethan picture Ethan · Oct 25, 2010 · Viewed 18.4k times · Source

After having upgraded to PHP 5.3, my application was inundated with

"Declaration of ... should be compatible with that of ..."

style errors. I understand the nature of these errors, but I wish to disable them.

The error_reporting setting in php.ini is "E_ALL & ~(E_NOTICE | E_DEPRECATED)", but this error continues to show up. I assumed it was included in E_STRICT, but am I wrong?

Answer

ircmaxell picture ircmaxell · Oct 25, 2010

It's an E_STRICT error. Change your php.ini setting to E_ALL & ~(E_NOTICE | E_DEPRECATED | E_STRICT)...

But it should be turned off by default (it's not included in E_ALL). So if you're getting them, that means it's being turned on somewhere. The question is, where? Do declare error_reporting(...) anywhere in your files? If so, check them. If not, then be sure you're editing the right php.ini file (check phpinfo())... You could always do a grep for E_STRICT to try to find where it's being turned on...