How to eliminate php5 Strict standards errors?

qxlab picture qxlab · Sep 1, 2012 · Viewed 76.1k times · Source

After upgrading my PHP to 5.4.3 (WAMP server 2.2), my web app made in CakePHP 1.3, is showing the following errors in my index:

Strict standards: Redefining already defined constructor for class Object in C:...\cake\cake\libs\object.php on line 63

Strict standards: Non-static method Configure::getInstance() should not be called statically in C:...\cake\cake\bootstrap.php on line 49

I've found that some people solve this problem by setting the error_reporting in php.ini to E_ALL & ~E_STRICT.

I did that in both php.ini files (C:\wamp\bin\php\php5.4.3 and C:\wamp\bin\apache\apache2.4.2\bin) present on my computer but it didn't solve the problem.

I also tried to put php_value error_reporting 6143 in C:...\cake.htaccess but without success.

Does anybody know how can I solve this? I can't upgrade my CakePHP because of firebird.

Answer

JvdBerg picture JvdBerg · Sep 1, 2012

One of the changes in php 5.4 is that E_STRICT is now part of E_ALL

So, in your /cake/bootstrap.php you could remove the E_STRICT from your error reporting:

error_reporting(E_ALL ^ E_STRICT);

and be compatible again with before 5.4 versions.