只有变量引用应该由 reference-Codeigniter 返回

在服务器 PHP 升级之后,我在 Apache 2.0上的 PHP Version 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

我该怎么补救?

308844 次浏览

编辑文件名: 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)中。更好的做法是升级而不是修改核心框架文件。

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

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