변수 참조 만 참조로 반환해야합니다-Codeigniter


173

서버 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

이 문제를 어떻게 해결할 수 있습니까?

답변:


450

파일 이름 편집 : 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 ) 로 병합되었습니다 . 핵심 프레임 워크 파일을 수정하는 것보다 업그레이드하는 것이 좋습니다.


2
hiya ... 왜 이런 일을 설명 할 수 있습니까? 그것은 작동하고 이유를 모르겠습니다 : p
GuyFreakz

4
@GuyFreakz PHP 할당 표현식에서 항상 할당 된 값을 반환합니다 . 따라서 변수 자체가 아니라 값의 사본을 $_config[0] =& $config반환 $config합니다. 그리고 임시 값에 대한 참조를 반환하는 것은 특별히 유용하지 않습니다 (변경하지 않음).
NikiC

그래 ... 그거 좋은거야! 나는 그것이 왜 그런 것들을 보여줄 수 있는지 전혀 모른다 ... : D
gumuruh

4
이것은 ci 2.2.1에서 합병되었습니다 https://github.com/bcit-ci/CodeIgniter/commit/69b02d0f0bc46e914bed1604cfbd9bf74286b2e3. @Chad가 언급 한 것처럼 업그레이드하는 것이 좋습니다.
Syakur Rahman

1
243 줄 에서이 수정 프로그램을 시도 할 때 이전 버전의 codeigniter (2.0.2)를 사용하고 있습니다. 이 작업을 어떻게 수행 할 수 있습니까?
JoeM05

8

이것은 codeigniter 2.2.1에서 수정되었습니다 ... 일반적으로 핵심 파일을 수정하는 가장 좋은 방법은 아닙니다. 항상 업데이트를 확인하고 2015 년 1 월 2.2.1이 나왔습니다.


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

이것이 최선의 해결책이라고 생각하면 문제 통지가 사라집니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.