-->

Only variables should be assigned by reference wit

2020-07-06 01:50发布

问题:

I use old version of Codeigniter framework. With new version of php I am gettings this error: Only variables should be assigned by reference

I am wondering if this is safe bugfix: Changing:

 $this->_base_classes =& is_loaded();

to

$assign = is_loaded();    
$this->_base_classes =& $assign;

Is that the same?

回答1:

Please see this url

https://github.com/bcit-ci/CodeIgniter/issues/904

You can go to file: system/core/Loader.php Then file: system/core/Common.php Line 190 there should be:

function &is_loaded($class = '')


回答2:

This is an codeigniter bug in which the old version does not support anymore the mysql.

You can go to file: system/core/Loader.php Then file: system/core/Common.php Line 190 there should be:

//function is_loaded($class = '') >>> Edit this one like the expression below

  function &is_loaded($class = '')

function &is_loaded($class = '')

After that go to file: application/config/database.php and change the following below:

//$db['default']['dbdriver'] = 'mysql'; >>> Edit this one like the expression below.

$db['default']['dbdriver'] = 'mysqli';

I hope it works



回答3:

remove this in line 150 from system/core/Loader.php

$this->_base_classes =& is_loaded(); ..



回答4:

Change

$this->_base_classes =& is_loaded();

to

$this->_base_classes = $this->is_loaded();

Worked for me.