古いバージョンのCodeigniterフレームワークを使用しています。新しいバージョンのphpでは、このエラーが発生します:Only variables should be assigned by reference
これが安全なバグ修正かどうか疑問に思っています:変更:
$this->_base_classes =& is_loaded();
に
$assign = is_loaded();
$this->_base_classes =& $assign;
それは同じですか?
このURLをご覧ください
file: system/core/Loader.php
に移動すると、file: system/core/Common.php
行190に移動できます。
function &is_loaded($class = '')
_system/core/Loader.php
_から150行目でこれを削除します
$this->_base_classes =& is_loaded();
..
これは、古いバージョンが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';
うまくいけばいい
変化する
$ this-> _ base_classes =&is_loaded();
に
$ this-> _ base_classes = $ this-> is_loaded();
私のために働いた。