리눅스에서 PHP 환경과 Composer 설치 가이드

기존 PHP 제거하기

1. PHP 설치 방식 확인

패키지 매니저(Yum/DNF)로 설치된 경우

rpm -qa | grep php

php-7.3.4-xxx 형태의 출력이 나오면 패키지 매니저로 설치된 것입니다.

소스 컴파일로 설치된 경우

which php
php -i | grep configure

출력에 --prefix=/usr/local/php 같은 경로가 포함되어 있으면 소스 컴파일 설치입니다.

2. PHP 제거

방법 1: 패키지 매니저 사용 (권장)

sudo yum remove php*

방법 2: 소스 컴파일 설치 제거

설치 경로가 /usr/local/php라고 가정합니다:

# PHP-FPM 중지
sudo systemctl stop php-fpm

# 설치 디렉터리 삭제
sudo rm -rf /usr/local/php

# 실행 파일 삭제
sudo rm -f /usr/local/bin/php /usr/local/bin/phpize /usr/local/bin/pear

# 설정 파일 삭제
sudo rm -rf /etc/php.ini /etc/php.d/

잔여 파일 정리

sudo find / -name "*php*" 2>/dev/null | grep -E '/(etc|opt|usr/local|var|lib)/'
sudo rm -rf /path/to/residual_files

3. 제거 확인

php -v
which php

위 명령어가 command not found를 출력하면 제거 완료입니다.

Yum으로 PHP 설치

최신 PHP 버전 설치

# EPEL 저장소 설치
sudo yum install epel-release

# Remi 저장소 설치 (EL9 호환)
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

# PHP 8.1 모듈 활성화
sudo yum module enable php:remi-8.1

# PHP 및 주요 확장 모듈 설치
sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml

# 버전 확인
php -v

자주 사용하는 관리 명령어

# PHP-FPM 서비스 시작
sudo systemctl start php-fpm

# 부팅 시 자동 실행 설정
sudo systemctl enable php-fpm

# 설치된 확장 모듈 확인
php -m

Yum으로 Composer 설치

설치 스크립트 다운로드

curl -sS https://getcomposer.org/installer -o composer-setup.php

스크립트 무결성 검증

HASH_EXPECTED="$(curl -sS https://composer.github.io/installer.sig)"
HASH_ACTUAL="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"

if [ "$HASH_EXPECTED" != "$HASH_ACTUAL" ]; then
    echo "오류: 설치 스크립트 검증 실패!"
    rm composer-setup.php
    exit 1
fi

전역 설치

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
rm composer-setup.php

환경 변수 설정

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# 설치 확인
composer --version

성능 최적화

중국 미러 설정 (선택 사항)

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

태그: PHP Composer linux yum Remi

6월 20일 21:21에 게시됨