After updating 5.6 to PHP 7. I was using HMVC implementation of Code Igniter and PHP upgrade started throwing following errors:-
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
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
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
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
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
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
A PHP Error was encountered Severity: Notice
Message: Only variables should be assigned by reference
Filename: core/Loader.php
Line Number: 257
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];
You can read the description of your error, it said that some functions in MX_Loader class is not compatible. It is not compatible with the parent class.
My MX Class extends CI_Loader, which is the CI Core loader. So just find the mentioned function in the error message and find it in the Core Loader. You can find it in system/core/loader.php
For example, the error number 1 has library function error. Just find "library" function in core loader and copy the parameter inside the function to the parameter of the library function in your MX loader. And so on