PHP 7은 2015년에 공개된 메이저 버전으로, 기존 PHP 5.x 대비 월등히 향상된 실행 속도와 효율적인 메모리 관리, 그리고 다양한 새로운 언어 기능을 제공합니다. 이 글에서는 CentOS 7 환경에서 기존에 설치된 PHP 5.x를 PHP 7로 업그레이드하는 전체 과정을 단계별로 살펴보겠습니다.
사전 준비 사항
이 가이드는 다음 조건을 충족하는 환경을 기준으로 작성되었습니다.
- CentOS 7 서버에 PHP 5.x가 이미 설치되어 있어야 합니다.
- Apache에서 mod_php 모듈이 활성화되어 있어야 합니다.
- 패키지 설치와 시스템 변경을 위해 sudo 권한 또는 root 계정 접근 권한이 필요합니다.
PHP 7 저장소 활성화 (IUS 커뮤니티 프로젝트)
PHP 7.x 패키지는 CentOS 7의 공식 저장소에서는 제공되지 않습니다. 따라서 최신 소프트웨어 패키지를 배포하는 IUS 커뮤니티 프로젝트(IUS Community Project) 저장소를 사용해야 합니다.
먼저 아래 명령으로 IUS 저장소 설치 스크립트를 다운로드합니다.
# curl 'https://setup.ius.io/' -o setup-ius.sh
다운로드한 스크립트를 실행하여 로컬 시스템에 IUS 저장소를 설치합니다.
# bash setup-ius.sh
스크립트가 CentOS 7을 자동으로 감지한 뒤 EPEL 저장소와 함께 ius-release 패키지를 설치합니다. 정상적으로 완료되면 마지막에 "Complete!" 메시지가 출력됩니다.
Apache mod_php 모듈 업그레이드
이제 Apache의 mod_php 모듈을 PHP 7 기반으로 교체하겠습니다. 먼저 기존 PHP 5.x 관련 패키지를 제거합니다.
# yum remove php-cli mod_php php-common
이어서 IUS 저장소를 통해 PHP 7 관련 모듈을 새로 설치합니다.
# yum install php70u-mysqlnd mod_php70u php70u-cli
설치 과정에서 php70u-common, php70u-pdo 같은 의존성 패키지들이 함께 자동으로 설치되며, 모든 작업이 끝나면 "Complete!" 메시지가 표시됩니다.
마지막으로 Apache를 재시작하여 새로운 PHP 모듈을 적용합니다.
# systemctl restart httpd
Apache 서비스가 정상적으로 구동 중인지 상태를 확인합니다.
# systemctl status httpd
출력 결과에 "Active: active (running)" 상태가 표시되면 Apache가 문제없이 실행 중인 것입니다.
PHP 버전 확인 및 테스트
업그레이드가 완료되면 실제로 PHP 7이 적용되었는지 반드시 검증해야 합니다. 두 가지 방법으로 확인할 수 있습니다.
1. CLI(명령줄)에서 확인
터미널에서 아래 명령을 입력하면 설치된 PHP 버전을 바로 확인할 수 있습니다.
# php -v PHP 7.0.8 (cli) (built: Jun 23 2016 11:34:57) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
2. 웹 브라우저에서 확인
/var/www/html 디렉터리에 info.php 파일을 생성합니다.
# vi /var/www/html/info.php <?php phpinfo(); ?>
파일 생성 후 웹 브라우저에서 아래 URL로 접속하면 phpinfo 화면을 통해 PHP 버전과 설정 정보를 확인할 수 있습니다.
https://IP주소/info.php

위의 모든 단계를 완료하면 CentOS 7 / RHEL 7 환경에서 PHP 5.x를 PHP 7로 성공적으로 업그레이드할 수 있습니다. 현재 CentOS 7 공식 저장소에서는 PHP 7을 제공하지 않기 때문에 IUS 저장소를 활용하는 것이 가장 간편하고 확실한 방법입니다. 서버에 PHP 7이 정상적으로 적용되었다면, 이제 개선된 성능과 최신 기능의 이점을 그대로 누릴 수 있습니다.