Только ссылки на переменные должны быть возвращены reference-Codeigniter


после обновления PHP сервера я получаю следующую ошибку с PHP версии 5.6.2 на Apache 2.0

A PHP Error was encountered
Severity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257

Как я могу это исправить?

4 145

4 ответа:

изменить имя файла: 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). лучше обновить, а не изменять основные файлы фреймворка.

изменение основного общего.php номер строки: 257 код с

$_config[0] =& $config;
return $_config[0];

Это было изменено в codeigniter 2.2.1...обычно не рекомендуется изменять основные файлы, я бы всегда проверял наличие обновлений и 2.2.1 вышел в январе 2015 года

это не лучшая идея, чтобы переопределить ядро.общий файл codeigniter. Потому что это более проверенные и системные файлы....

Я делаю решение этой проблемы. В вашем ckeditor_helper.PHP-файл линия - 65

if($k !== end (array_keys($data['config']))) {
       $return .= ",";
}

изменить-->

 $segment = array_keys($data['config']);
    if($k !== end($segment)) {
           $return .= ",";
    }

Я думаю, что это лучшее решение, а затем ваша проблема уведомление исчезнет.