php 5.4로 드루팔을 이관한 후 이런 저런 경고가 발생했다.

작년부터 드루팔은 본격적으로 버전 7이 중심이 되고(이미 시작은 오래됐음),
드루팔 6은 서서히 지원되는 모듈도 줄어들고 있다.

그래도 게으른 드루지기들은 굿굿하게 버전 6을 잘 이용하면서,
새로운 프로젝트만 7을 적용하고 있었다. 잘만 돈다면야 버전이 문제랴.

그런데 새로운 서버로 옛 사이트를 옮기면서 문제가 서서히 커지고 있다.

예를 들어 PHP 5.3은 드루팔 6과 궁합이 잘 맞는 편인데
PHP 5.4 부터는 드루팔 6은 그렇게 편하지는 않고 이런저런 경고, 에러가 뜬다.

아직도 드루팔 옛 버전을 이용하는 분들을 위해, 하나씩 문제 해결책을 메모해 본다.


php 5.4로 드루팔을 이관한 후 Block 설정 관련 경고가 발생했다.

warning: Illegal string offset 'region' in 드루팔_패스\modules\block\block.admin.inc on line 101

이와 같은 경우에는, block.admin.inc 의 101번 라인 근처의 foreach 안에
아래의 예외문을 넣으면 문제가 해소된다.

if ( !is_array($block) )  { continue; }

* 참고 : https://drupal.org/node/2004304


php 5.4로 드루팔을 이관한 후 Taxonomy 관련 경고가 발생했다.

warning: Creating default object from empty value in [drupal_path]\modules\taxonomy\taxonomy.pages.inc on line 33.

위와 같은 경고 메시지가 뜬다면,

해당 문제의 파일의 $current 변수 사용 직전에,
$current = new stdClass();
를 추가하면 괜찮다.

* 참고 : https://drupal.org/node/1724096

Comments

중요한 코어 모듈을 손대는 것이므로, 수정 전에

중요한 코어 모듈을 손대는 것이므로, 수정 전에 반드시 원본 백업해 두세요~