只有变量引用应该通过引用返回 - Codeigniter

Only variable references should be returned by reference - Codeigniter

服务器 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赋值表达式中总是return赋值。所以 $_config[0] =& $config returns $config - 但不是变量本身,而是其值的副本。并且 return 对临时值的引用不会特别有用(更改它不会做任何事情)。

更新

此修复已合并到 CI 2.2.1 (https://github.com/bcit-ci/CodeIgniter/commit/69b02d0f0bc46e914bed1604cfbd9bf74286b2e3) 中。与其修改核心框架文件,不如升级。

这已在 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 .= ",";
    }

我认为这是最好的解决方案,然后您的问题通知就会消失。