Homebrew에서 php@7.0이 제거되었습니다
오랜만에 노트북을 열고 PHP CLI를 실행하는데 아래와 같은 오류 문구가 보이는 겁니다.
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib |
여기를 읽어보면서 PHP를 다시 설치하려고 했죠.
❯ brew reinstall php@7.0 |
음? 이상한데…하면서 지우고 다시 설치하려고 했습니다.
❯ brew install php@7.0 |
이런 문구가 보이는 겁니다.
php@7.0 was deleted from homebrew/core in commit 7e111a877: |
PHP7.0은 EOL(End Of Life)이 됐으니 Homebrew에서 제거했다는 이야기.
Supported Versions 문서에 의하면,
PHP5.6은 12월 31일, PHP7.0은 12월 3일까지입니다.
얼마 전(12.06)에 PHP7.3 나왔다고 설레발치면서 7.0 지원 종료된 건 못봤나 봅니다. 회사에선 (다른 분들이) PHP 버전업을 준비하고는 있지만, 아직 상용 시스템은 7.0을 사용하는 관계로 노트북의 PHP 버전도 이와 동일하게 구성해놓고 있습니다.
Homebrew에서 PHP@7.0 설치하기
homebrew/core에서 공식 지원하진 않기 때문에 우회해야 합니다.
Homebrew document에 보시면, How to Create and Maintain a Tap에서 비공식 Tap을 관리하는 방법을 안내하고 있습니다. Tap이란 건 online Git repository일 뿐이고, Github에서 Homebrew/homebrew-core 저장소를 참고해서 설치 파일을 올려두면 된다는 것.
그래서 저도 core를 fork해서 7.0이 삭제되기 전 시점으로 돌려놓으면 원하는 rb 파일을 얻을 수 있겠다 생각을 했는데…
reddit에서 PHP 7.0 removed from Homebrew란 글을 읽고 있자니 누군가 먼저 이걸 해결해 놨더군요.
https://github.com/eXolnet/homebrew-deprecated
여기 들어가보시면 7.0.33 버전의 Formula를 얻을 수 있습니다. 곧 같은 배를 타게 될, 5.6 버전도 함께요.
설치해봅니다.
저장소 이름의 homebrew-
는 homebrew가 인식하기 위한 prefix니까 떼어버리고, 아래처럼 user/저장소/formula 순으로 지정하면 됩니다.
❯ brew install eXolnet/deprecated/php@7.0 |
그럼 XDebug도 다시 설치해야 하겠죠? 여기부터는 XDebug를 어떻게 설치했는냐에 따라 다르겠습니다만…
❯ pecl install xdebug |
저는 XDebug 설정 파일을 /usr/local/etc/php/7.0/conf.d/ext-xdebug.ini 위치에 따로 분리했는데요. 여기서 모듈 위치를 변경해줬습니다.
zend_extension=/usr/local/Cellar/php@7.0/7.0.33/pecl/20151012/xdebug.so |
확인하기.
❯ php -v |