How to eliminate php5 Strict standards errors?

后端 未结 7 1234
后悔当初
后悔当初 2020-12-02 23:40

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: Rede

相关标签:
7条回答
  • 2020-12-02 23:40

    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

    error_reporting(E_ALL & ~E_STRICT & ~E_DEPRECATED);
    
    0 讨论(0)
  • 2020-12-02 23:42

    Make sure you've updated the correct php.ini file - if you create a php file in your root directory with the following code

    <?php
    
    phpinfo();
    
    ?>
    

    and load it in your web browser it will tell you which ini file is being used, in case you missed one.

    It's also possible that an htaccess file is setting that value via the php_flag error_reporting value, which can also be set per directory.

    0 讨论(0)
  • 2020-12-02 23:55

    Please replace

    error_reporting = E_ALL 
    

    in your php.ini, with

    error_reporting = E_ALL & ~E_STRICT
    

    For me

    error_reporting(E_ALL ^ E_STRICT);
    

    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.

    0 讨论(0)
  • 2020-12-02 23:59

    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:

    Configure::write('Error', array(
        'handler' => 'ErrorHandler::handleError',
        'level' => E_ALL & ~E_DEPRECATED,
        'trace' => true
    ));
    

    and replace 'level' with this:

    ...
    'level' => E_ALL & ~E_STRICT & ~E_DEPRECATED,
    ...
    
    0 讨论(0)
  • 2020-12-03 00:03

    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.

    0 讨论(0)
  • 2020-12-03 00:04

    File bootstrap.php from folder (root)cake

    if (!defined('E_ALL')) {
        define('E_ALL', 8192);
    }
    

    File debugger.php from folder (root)cake\libs

    error_reporting(E_ALL ^ ~E_STRICT ^ ~E_DEPRECATED);
    
    0 讨论(0)
提交回复
热议问题