1. ホーム
  2. php

[解決済み] 参照で返されるのは変数の参照だけであるべき - Codeigniter

2022-01-25 03:33:16

質問

サーバーの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によって追加されました。

PHP の代入式は、常に代入された値を返します。つまり、$_config[0] =& $config は $config を返しますが、変数そのものではなく、その値のコピーが返されます。そして、一時的な値への参照を返すことは、特に有用ではありません(それを変更しても何もできません)。

更新

この修正は、CI 2.2.1 にマージされました ( https://github.com/bcit-ci/CodeIgniter/commit/69b02d0f0bc46e914bed1604cfbd9bf74286b2e3 ). フレームワークのコアファイルを修正するよりも、アップグレードしたほうがよいでしょう。