버전업 알림 확인
WordPress의 관리자 화면에서 다음과 같이 표시된다면 php의 버전 업데이트를 권장합니다.

다음과 같이 업데이트를 권유하는 메시지가 표시됩니다.

버전업 실행
다음 커맨드로 php의 현재 버전을 확인합니다.
$ php -v PHP 7.0.33 (cli) (built: Mar 17 2020 08:28:33) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
다음 커맨드로 인스톨 되어있는 php 패키지들과 버전을 확인 합니다.
$ sudo yum list installed php* ...중간생략... Installed Packages php.x86_64 7.0.33-19.el7.remi @remi-php70 php-cli.x86_64 7.0.33-19.el7.remi @remi-php70 php-common.x86_64 7.0.33-19.el7.remi @remi-php70 php-devel.x86_64 7.0.33-19.el7.remi @remi-php70 php-gd.x86_64 7.0.33-19.el7.remi @remi-php70 php-intl.x86_64 7.0.33-19.el7.remi @remi-php70 php-json.x86_64 7.0.33-19.el7.remi @remi-php70 php-mbstring.x86_64 7.0.33-19.el7.remi @remi-php70 php-mysqlnd.x86_64 7.0.33-19.el7.remi @remi-php70 php-pdo.x86_64 7.0.33-19.el7.remi @remi-php70
현재의 설정 파일 php.ini의 저장된 위치를 확인합니다.
$ sudo find / -name "php.ini" -ls 94024 60 -rw-r--r-- 1 root root 60623 Mar 20 03:29 /etc/php.ini
버전 업 하기 전에, 현재의 설정 파일 php.ini를 다른 이름으로 복사해둡니다.
$ sudo cp -a /etc/php.ini /etc/php.ini.7.0.33.bak
인스톨 되어있던 php 패키지들을 삭제합니다.
$ sudo yum remove php* Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check --> Finished Dependency Resolution Dependencies Resolved ....중간생략.... Verifying : php-json-7.0.33-19.el7.remi.x86_64 9/10 Verifying : php-devel-7.0.33-19.el7.remi.x86_64 10/10 Removed: php.x86_64 0:7.0.33-19.el7.remi ....중간생략.... Complete!
인스톨 대상 소프트웨어를 최신 상태로 유지하기 위해 epel-release 리포지토리를 갱신합니다. 아래 결과는 갱신할 내용이 없을 때 출력되는 메시지입니다.
$ sudo yum update epel-release ...중간생략... No packages marked for update
php7.3을 인스톨하기 위해선 remi-php73.repo가 필요하기 때문에 존재 여부를 확인합니다.
$ ll /etc/yum.repos.d/ | grep remi- ...중간생략... -rw-r--r--. 1 root root 1314 Feb 17 16:07 remi-php72.repo -rw-r--r--. 1 root root 1314 Feb 17 16:07 remi-php73.repo ...중간생략...
일단 mysqld와 httpd를 정지시킵니다.
$ sudo systemctl stop httpd $ sudo systemctl stop mysqld
새로운 버전의 php를 인스톨합니다.
$ sudo yum -y install --enablerepo=epel,remi,remi-php73 php php-cli php-common php-gd php-imap php-mbstring php-mysql php-odbc php-pdo php-pear php-pgsql php-process php-snmp php-xml php-xmlrpc php-fpm php-mcrypt .....중간생략.... Installed: php.x86_64 0:7.3.17-1.el7.remi php-cli.x86_64 0:7.3.17-1.el7.remi .....중간생략.... Complete!
새롭게 인스톨 한 php의 버전을 확인합니다.
$ php -v PHP 7.3.17 (cli) (built: Apr 14 2020 08:29:22) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.17, Copyright (c) 1998-2018 Zend Technologies
/etc/php.ini의 이전 버전 설정은 덮어쓰여진 상태이기 때문에 위에서 백업한 /etc/php.ini.7.0.33.bak를 참조하거나 아래 글을 참조해서 다시 한 번 설정해야합니다.
php.ini의 수정이 끝나면 웹서버를 재기동합니다.
$ sudo systemctl start mysqld $ sudo systemctl start httpd
삭제된 모듈 재설치 하기
필수모듈 imagick와 zip은 sudo yum remove php*의 커맨드로 php 패키지를 삭제할 때 같이 삭제됩니다. 다을 글을 참조해서 다시 한 번 인스톨 해주어야 합니다.