Article
최신 macOS에서 PHP 7.1 버전 설정하기
개요
PHP 7.1은 2019년 12월 지원이 종료되었지만, 레거시 프로젝트를 유지보수할 때 여전히 필요합니다. 최신 macOS에서 PHP 7.1을 설치하고 여러 버전을 함께 관리하는 방법을 알아봅시다.
사전 요구사항
| 항목 | 요구사항 |
|---|---|
| OS | macOS 10.15 이상 |
| 패키지 관리자 | Homebrew 설치 필수 |
| 디스크 공간 | 최소 5GB |
| 권한 | sudo 권한 필요 |
단계별 설치 가이드
1단계: Homebrew 업데이트
먼저 Homebrew를 최신 버전으로 업데이트합니다.
brew update
brew doctor
2단계: 필수 의존성 설치
일부 PHP 확장 기능을 빌드하기 위해 필요한 라이브러리를 설치합니다.
# OpenLDAP와 libiconv 설치
brew install openldap libiconv
# 또는 단독 설치
brew install openldap
brew install libiconv
3단계: Homebrew 탭 추가
레거시 PHP 버전들을 제공하는 저장소를 추가합니다.
# exolnet의 deprecated PHP 저장소 추가
brew tap exolnet/homebrew-deprecated
또는 다른 대안:
# Shivam Mathur의 PHP 저장소
brew tap shivammathur/php
4단계: PHP 7.1 설치
이제 PHP 7.1을 설치할 수 있습니다.
brew install php@7.1
5단계: PHP 버전 스위처 설치
여러 PHP 버전을 쉽게 전환하기 위해 brew-php-switcher를 설치합니다.
brew install brew-php-switcher
PHP 버전 전환
설치된 버전 확인
# 현재 사용 중인 PHP 버전
php -v
# Homebrew에 설치된 모든 PHP
brew list | grep php
버전 전환 명령어
# PHP 7.1로 전환
brew-php-switcher 7.1
# PHP 7.4로 전환
brew-php-switcher 7.4
# PHP 8.0으로 전환
brew-php-switcher 8.0
# PHP 8.1로 전환
brew-php-switcher 8.1
전환 후 확인
php -v
php -m # 설치된 확장 모듈 확인
트러블슈팅
문제 1: “php@7.1 not found” 에러
원인: 저장소가 추가되지 않았거나 버전이 없음
해결책:
# 저장소 확인
brew tap | grep php
# 저장소 다시 추가
brew untap exolnet/homebrew-deprecated
brew tap exolnet/homebrew-deprecated
# 재설치
brew install php@7.1
문제 2: “openldap” 설치 실패
원인: macOS 버전 호환성 문제
해결책:
# 의존성 확인
brew doctor
# 문제 해결
brew cleanup
# 다시 설치
brew install openldap
문제 3: 전환 후 버전이 변경되지 않음
원인: PATH 환경변수 설정 문제
해결책:
# 터미널 다시 시작 또는
source ~/.zshrc # zsh 사용자
source ~/.bash_profile # bash 사용자
# 또는 새로운 터미널 탭 열기
PHP 확장 설치
PHP 7.1에서 추가 확장이 필요한 경우:
# PECL을 통한 확장 설치
pecl install {extension-name}
# 예: Redis 확장
pecl install redis
# php.ini에 확장 로드 확인
php -i | grep extension_dir
개발 환경 설정
Apache와 함께 사용
# Apache에서 PHP 모듈 활성화
sudo vi /etc/apache2/httpd.conf
# 다음 라인 수정 (PHP 버전에 맞게)
LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/mod_php.so
Nginx + PHP-FPM
# PHP-FPM 시작
brew services start php@7.1
# Nginx 설정에서 PHP 사용
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
프로젝트별 PHP 버전 관리
방법 1: direnv 사용
brew install direnv
# 프로젝트 디렉토리에 .envrc 파일 생성
echo 'eval "$(brew-php-switcher 7.1)"' > /path/to/project/.envrc
# direnv 허용
direnv allow
방법 2: 쉘 별칭
# ~/.zshrc 또는 ~/.bash_profile에 추가
alias php71='brew-php-switcher 7.1'
alias php74='brew-php-switcher 7.4'
alias php80='brew-php-switcher 8.0'
성능 최적화
php.ini 설정
# PHP 7.1의 php.ini 위치 확인
php -r "echo php_ini_loaded_file();"
# 주요 설정
memory_limit = 256M
post_max_size = 20M
upload_max_filesize = 20M
max_execution_time = 300
Opcache 활성화
# php.ini에 추가
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=8
정리 및 제거
PHP 버전 제거
# PHP 7.1 제거
brew uninstall php@7.1
# 저장소 제거
brew untap exolnet/homebrew-deprecated
캐시 정리
brew cleanup
brew cache --prune # 최신 버전의 Homebrew에서 사용
마치며
최신 macOS에서 PHP 7.1을 설정하는 것이 처음에는 복잡해 보이지만, 단계별로 따라가면 어렵지 않습니다. Homebrew와 brew-php-switcher를 올바르게 설정하면, 여러 PHP 버전을 유연하게 관리할 수 있습니다.
레거시 프로젝트를 유지보수할 때 이 방법이 큰 도움이 됩니다. 최신 버전으로 마이그레이션할 때까지 안정적인 개발 환경을 구성하세요. 문제가 발생하면 위의 트러블슈팅 섹션을 참고하여 해결할 수 있습니다.
댓글