서버 운영/APM 서버 구축

PHP 7.3으로의 업그레이드 및 사용 연기 권장 안내 - PHP Notice: compact(): Undefined variable:

씨실과 날실 2019. 3. 15. 12:10

얼마전 PHP 7.3으로의 업그레이드 방법을 안내해드렸는데 오늘 문제점이 발견되어 이렇게 알려드립니다.

현재 제 블로그에는 워드프레스와 미디어위키의 설치 및 사용법을 연재하고 있습니다. 예정대로라면 오늘은 미디어위키 모바일 접속 환경 구축에 대하여 연재할 예정이었습니다.

연재를 하기 전에 전체 작업 과정을 테스트하고 올리는데 이번에 미디어위키 모바일 접속 환경 구축 테스트 중 오류가 발생하였습니다.

study@study-VirtualBox:~$ php update.php
... 생략 ...
PHP Notice:  compact(): Undefined variable: namespaceGenderAliases in /var/www/html/w/includes/cache/localisation/LocalisationCache.php on line 531
PHP Notice:  compact(): Undefined variable: digitGroupingPattern in /var/www/html/w/includes/cache/localisation/LocalisationCache.php on line 531
PHP Notice:  compact(): Undefined variable: pluralRules in /var/www/html/w/includes/cache/localisation/LocalisationCache.php on line 531
PHP Notice:  compact(): Undefined variable: pluralRuleTypes in /var/www/html/w/includes/cache/localisation/LocalisationCache.php on line 531
PHP Notice:  compact(): Undefined variable: compiledPluralRules in /var/www/html/w/includes/cache/localisation/LocalisationCache.php on line 531

Done in 5.2 s.
study@study-VirtualBox:/var/www/html/w/maintenance$ 

그래서 제가 좀 찾아봤습니다. 그러니 워드프레스와 미디어위키 등에서 PHP 7.3에 compact() 이슈가 있더군요.

미디어위키의 장기적인 유지보수를 위해 LTS버전인 1.31버전을 기준으로 연재하고 있습니다. 그런데 이 1.31.1버전에서 compact () : 정의되지 않은 변수 이슈가 발생합니다.

PHP 7.3 환경에서 미디어위키 1.31.1 LTS 버전을 설치하는 방법에 대하여 올려두었으니 필요하신 분은 참고하시기 바랍니다.

2019/05/26 - [서버 운영/미디어위키(Mediawiki)] - PHP 7.3 환경에서 미디어위키(Mediawiki) 1.31.1 LTS 설치하기 - XAMPP 7.3.4

PHP 7.3을 비활성화 하고 PHP 7.2를 재활성화 후 작업을 해도 동일 현상이 일어나더군요. 그래서 아예 PHP7.3 설치 이전으로 가상머신 스냅샷을 복원했습니다.

스냅샷 복원 후 작업 테스트를 해보니 문제 없이 작업이 이루어지는 것을 확인할 수 있었습니다.

study@study@study-VirtualBox:/var/www/html/w/maintenance$ php update.php
MediaWiki 1.31.1 Updater

Your composer.lock file is up to date with current dependencies!
Going to run database updates for my_wiki-w
Depending on the size of your database this may take a while!
Abort with control-c in the next five seconds (skip this countdown with --quick) ... 0
... 생략 ...
...checking 14 revisions for IP edits that need copying, between rev_ids 0 and 75
Attempted to insert 0 IP revisions, 0 actually done.
Purging caches...done.

Done in 3.6 s.
study@study-VirtualBox:/var/www/html/w/maintenance$ 

제 연재는 최신 LTS 버전을 최우선 기준으로 이루어집니다. 이유는 안정적인 유지보수를 위해서입니다. 따라서 리눅스도 우분투 18.04 LTS를 기준으로 잡고, 미디어위키도 1.31 LTS를 기준으로 연재를 합니다.

따라서 가능하시면 PHP 7.2를 사용하시기 바라며, 제가 올린 PHP 7.3 업그레이드 또는 설치 안내 글은 참고만 하시고, PHP 7.3으로의 업그레이드는 추후로 미루시기를 권장합니다.

만약 굳이 PHP 7.3을 쓰실 분들은 최신 버전의 미디어위키 1.32을 사용하시기 바라며 다른 CMS의 경우도 PHP 7.3과 관련한 이슈를 확인하시고 업그레이드를 진행하시기 바랍니다.