System/CentOS | Ubuntu

[CentOS 6] PHP(5.4.27 -> 7.3.7) 업그레이드

jykim23 2019. 7. 19. 17:48

 본 실습은 PHP 다운 타임을 1분 미만으로 하기 위한 방법입니다.

더 좋은 방법이 있으면 덧글로 알려주시면 감사하겠습니다! 

 

 

개요

 기존의 PHP를 그대로 두고 새로운 디렉터리에 새로운 버전의 PHP을 설치합니다. 그리고 httpd.conf의 php 모듈을 php5를 주석 처리하고 php7 모듈을 추가하고 apachectl 재시작하는 것입니다. 이렇게 하여 다운타임을 apachectl을 재시작하는 짧은 시간으로 최대한 줄이는 목표를 가지고 실습하겠습니다.

 

 

실습환경

CentOS(6.8) final

CentOS 6.8

 

실습 목표

php 5.4.27 -> 7.3.7

 

 

 

목차

0. 백업

1. php 7.3.7 설치

2. php 모듈 변경

3. httpd 재시작

4. phpinfo.php확인

 

 

 

 

0. 백업

혹시 모를 불상사를 위해 기존 PHP 디렉터리를 복사해두겠습니다.

cp -r [복사 원본] [복사될 파일명]

 

기존에 설치된 php 버전

실습 진행 전 PHP 5.4.27버전입니다.

 

1. php 7.3.7 설치

php 7.3.7 설치

 

# mkdir /usr/local/php7

 

새로운 버전의 php디렉터리를 php7으로 두고 실습하였습니다. 그 외의 설정은 다 같습니다.

 

 

설치 완료!

 

 

2. php7 모듈 변경

기존의 PHP5 모듈을 주석 처리하고 PHP7 모듈을 추가합니다.

 

# vi /home/httpd/conf/httpd.conf

# LoadModule php5_module        modules/libphp5.so -> php5 모듈 주석 처리
LoadModule php7_module        modules/libphp7.so    -> php7 모듈 추가 확인

php5는 #으로 주석 처리합니다.

 

3. httpd 재시작

 재시작을 해야 php모듈 변경이 적용됩니다.

이때 다운 타임이 발생됩니다.

 

# service httpd restart

 

혹은

 

# /home/httpd/bin/apachectl restart

 

 

4. phpinfo.php 확인

웹브라우저에 

[ServerIP]/phpinfo.php

 

성공!

 

 

 

 

 

 실습 구상 초기에 아래 그림과 같이 php7 디렉터리를 php 디렉터리로 이름 변경을 해야 적용이 될 줄 알았습니다. 그러나 모듈 생성 및 모듈 등록을 정상적으로 하였기에 이름 변경 없이 정상적으로 실습이 완료되었습니다.

이렇게 안해도 됩니다!