web-dev-qa-db-ja.com

関数での参照によって変数のみを割り当てる必要があります

古いバージョンのCodeigniterフレームワークを使用しています。新しいバージョンのphpでは、このエラーが発生します:Only variables should be assigned by reference

これが安全なバグ修正かどうか疑問に思っています:変更:

 $this->_base_classes =& is_loaded();

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

それは同じですか?

9
user1324762

このURLをご覧ください

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

file: system/core/Loader.phpに移動すると、file: system/core/Common.php行190に移動できます。

function &is_loaded($class = '')
16
Md.Jewel Mia

_system/core/Loader.php_から150行目でこれを削除します

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

1
IceTambidadab

これは、古いバージョンがmysqlをサポートしなくなったcodeigniterのバグです。

ファイル: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';

うまくいけばいい

0
Orulf.Labay

変化する

$ this-> _ base_classes =&is_loaded();

$ this-> _ base_classes = $ this-> is_loaded();

私のために働いた。

0
Vinayak