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.
Please replace
in your php.ini, with
For me
which is shown in the accepted answer to this question did not work and gave an Infinite loop detected in JError error for my Joomla website.
Instead of modifying the cake core files, which sucks if you want to update your cake version, go into your Config/core.php file and look for the error handler configuration:
and replace 'level' with this:
If you're fighting with PHP Strict warnings in cake console output, take a look into your
app/config/core.php
.In CakePhp 1.3
error_reporting(...)
is overwritten by the'log'
option, so ensure you excludeE_STRICT
here: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:
and be compatible again with before 5.4 versions.
File bootstrap.php from folder (root)cake
File debugger.php from folder (root)cake\libs
You are using newer php version. in php 5.4, E_STRICT is part of E_ALL
in cake 1.3, open file /cake/bootstrap.php and change the error_reporting like this