source

변수 참조만 참조로 반환해야 합니다(Codeigniter).

goodcode 2022. 9. 21. 00:00
반응형

변수 참조만 참조로 반환해야 합니다(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 할당식에서 항상 할당된 값을 반환합니다.따라서 $_config[0] =& $config는 $config를 반환하지만 변수 자체는 반환하지 않고 값의 복사본입니다.또한 참조를 일시적 값으로 되돌리는 것은 특별히 유용하지 않습니다(변경해도 아무 소용이 없습니다).

갱신하다

이 수정은 CI 2.2.1(https://github.com/bcit-ci/CodeIgniter/commit/69b02d0f0bc46e914bed1604cfbd9bf74286b2e3)에 통합되었습니다.코어 프레임워크 파일을 수정하는 것보다 업그레이드하는 것이 좋습니다.

이것은 코드 시그니터 2.2.1에서 수정되었습니다.보통 코어 파일을 수정하는 베스트 프랙티스는 아닙니다.항상 업데이트를 확인하고 2015년 1월에 2.2.1이 나왔습니다.

코드 시그너의 core.common 파일을 덮어쓰는 것은 좋은 생각이 아닙니다.더 많은 테스트를 거친 시스템 파일이기 때문에...

나는 이 문제에 대한 해결책을 만든다.ckeditor_helper.php 파일 행 - 65

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

이것을-->로 변경합니다.

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

이것이 최선의 해결책이라고 생각합니다.그러면 문제 알림이 사라집니다.

언급URL : https://stackoverflow.com/questions/28348879/only-variable-references-should-be-returned-by-reference-codeigniter

반응형