サーバPHPのアップグレード後、Apache 2.0上のPHPバージョン5.6.2で次のエラーが発生します。
A PHP Error was encountered
Severity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257
どうすればこれを修正できますか?
ファイル名を編集:core/Common.php、行番号:257
前
return $_config[0] =& $config;
後に
$_config[0] =& $config;
return $_config[0];
NikiCが追加した
In PHP代入式は常に代入値を返します。そのため、$ _config [0] =&$ configは$ configを返します - 変数自体ではなく、その値のコピーです。そして、一時的な値への参照を返すことは特に役に立ちません(それを変更しても何もしません)。
この修正はCI 2.2.1( https://github.com/bcit-ci/CodeIgniter/commit/69b02d0f0bc46e914bed1604cfbd9bf74286b2e3 )にマージされました。コアフレームワークファイルを変更するよりもアップグレードするほうが賢明です。
Core/Common.phpの行番号を257に変更してください。
$_config[0] =& $config;
return $_config[0];
これはcodeigniter 2.2.1で修正されました...通常コアファイルを修正するためのベストプラクティスではありません、私は常にアップデートをチェックし、2.2.1は2015年1月に出ました
Codeigniterのcore.commonファイルをオーバーライドするのは良い考えではありません。それは、よりテストされたシステムファイルだからです。
私はこの問題を解決します。 ckeditor_helper.phpファイルの 行 - 65
if($k !== end (array_keys($data['config']))) {
$return .= ",";
}
これを - >に変更してください。
$segment = array_keys($data['config']);
if($k !== end($segment)) {
$return .= ",";
}
私はこれが最善の解決策だと思います、それからあなたの問題の通知は消えます。