CodeIgniter HMVC error after updating PHP to PHP 7

2019-03-01 14:13发布

问题:

After updating 5.6 to PHP 7. I was using HMVC implementation of Code Igniter and PHP upgrade started throwing following errors:-

  1. A PHP Error was encountered Severity: Warning

    Message: Declaration of MX_Loader::library($library, $params = NULL, $object_name = NULL) should be compatible with CI_Loader::library($library = '', $params = NULL, $object_name = NULL)

    Filename: MX/Loader.php

    Line Number: 143

  2. A PHP Error was encountered Severity: Warning

    Message: Declaration of MX_Loader::helper($helper) should be compatible with CI_Loader::helper($helpers = Array)

    Filename: MX/Loader.php

    Line Number: 0

  3. A PHP Error was encountered Severity: Warning

    Message: Declaration of MX_Loader::helpers($helpers) should be compatible with CI_Loader::helpers($helpers = Array)

    Filename: MX/Loader.php

    Line Number: 0

  4. A PHP Error was encountered Severity: Warning

    Message: Declaration of MX_Loader::language($langfile, $lang = '', $return = false) should be compatible with CI_Loader::language($file = Array, $lang = '')

    Filename: MX/Loader.php

    Line Number: 0

  5. A PHP Error was encountered Severity: Warning

    Message: Declaration of MX_Loader::_ci_get_component($component) should be compatible with & CI_Loader::_ci_get_component($component)

    Filename: MX/Loader.php

    Line Number: 0

  6. A PHP Error was encountered Severity: Warning

    Message: Declaration of MX_Lang::load($langfile, $lang = '', $return = false, $_module = NULL) should be compatible with CI_Lang::load($langfile = '', $idiom = '', $return = false, $add_suffix = true, $alt_path = '')

    Filename: MX/Lang.php

    Line Number: 70

  7. A PHP Error was encountered Severity: Notice

    Message: Only variables should be assigned by reference

    Filename: core/Loader.php

    Line Number: 257

回答1:

I have fixed all issue. Bellow I have given:

 1.third_party\MX\Lang.php
    line = 134
    public function library($library = '', $params = NULL, $object_name = NULL) 

    2.third party\MX\Loder.php
     line=105
     pulic function helper($helper = array())

    3.third party\MX\Loder.php
     line=120
     pulic function helper($helper = array())


    4.third party\MX\Loder.php
     line=124
    public function language($langfile=array(), $idiom = '', $return = FALSE, $add_suffix = TRUE, $alt_path = '') 

    5.third party\MX\Loder.php
     line=271
    public function  &_ci_get_component($component)


    6.third party\MX\Lang.php
     line=70
    public function load($langfile ='', $lang = '', $return = FALSE, $add_suffix = TRUE, $alt_path = '', $_module = '')


    7.system/core/commopn.php
     line=257
         $_config[0] =& $config;
           return $_config[0];