Только переменные должны быть назначены по ссылке с функцией

Я использую старую версию фреймворка Codeigniter. С новой версией PHP я получаю эту ошибку:Only variables should be assigned by reference

Мне интересно, если это безопасное исправление: Изменение:

 $this->_base_classes =& is_loaded();

в

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

Это то же самое?

4 ответа

Решение

Пожалуйста, посмотрите этот URL

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

Ты можешь пойти в file: system/core/Loader.phpзатемfile: system/core/Common.php В строке 190 должно быть:

function &is_loaded($class = '')

Это ошибка codeigniter, в которой старая версия больше не поддерживает mysql.

Вы можете перейти к файлу: system/core/Loader.php. Затем файл: system/core/Common.php. Строка 190 должна содержать:

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

  function &is_loaded($class = '')

function &is_loaded($class = '')

После этого перейдите в файл: application / config / database.php и измените следующее:

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

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

надеюсь это работает

Удалите это в строке 150 из system/core/Loader.php

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

Перейдите в File: system\core, вы найдете файл с именем Common.php, откройте файл и перейдите к строке 190, где вы найдете function is_loaded($class = '')просто замените его этой строкой кода function &is_loaded($class = '')

+ Изменить

$this->_base_classes =& is_loaded();

в

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

Работал на меня.

Другие вопросы по тегам