概要
CentOS7 に remi-php71 から PHP7.1 がインストールされている環境で、PHP7.1をアンインストールしてから新たにPHP7.3をインストールします。
yumコマンド実行時のリポジトリ指定で--enablerepoを使用せず、デフォルトで remi-php71 および epel が有効になっている場合を想定しています。
手順
現在有効になっているリポジトリを確認します。
ここでは epel および remi-php71 が有効になっていることが確認できました。
$ yum repolist enabled
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: mirrors.aliyun.com
* epel-debuginfo: mirrors.aliyun.com
* epel-source: mirrors.aliyun.com
* extras: ftp.iij.ad.jp
* remi-php71: ftp.riken.jp
* remi-safe: ftp.riken.jp
* updates: ftp.iij.ad.jp
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,097
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,520
epel-debuginfo/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 - De 2,805
epel-source/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 - So 0
extras/7/x86_64 CentOS-7 - Extras 323
mackerel/x86_64 mackerel-agent 4
remi-php71 Remi's PHP 7.1 RPM repository for Enterprise Linux 434
remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - 3,673
updates/7/x86_64 CentOS-7 - Updates 1,117
repolist: 31,973
remi-php71から導入されているパッケージを確認します。
php関連以外は導入されていないことが確認できました。
$ yum list installed | grep remi-php71
php.x86_64 7.1.33-4.el7.remi @remi-php7
php-bcmath.x86_64 7.1.33-4.el7.remi @remi-php7
php-cli.x86_64 7.1.33-4.el7.remi @remi-php7
php-common.x86_64 7.1.33-4.el7.remi @remi-php7
php-gd.x86_64 7.1.33-4.el7.remi @remi-php7
php-json.x86_64 7.1.33-4.el7.remi @remi-php7
php-mbstring.x86_64 7.1.33-4.el7.remi @remi-php7
php-mcrypt.x86_64 7.1.33-4.el7.remi @remi-php7
php-mysqlnd.x86_64 7.1.33-4.el7.remi @remi-php7
php-pdo.x86_64 7.1.33-4.el7.remi @remi-php7
php-pecl-zip.x86_64 1.17.0-1.el7.remi.7.1 @remi-php7
php-process.x86_64 7.1.33-4.el7.remi @remi-php7
php-tidy.x86_64 7.1.33-4.el7.remi @remi-php7
php-xml.x86_64 7.1.33-4.el7.remi @remi-php7
php関連で導入されているパッケージを確認します。
remi-php71またはepelから導入されているパッケージがあることが確認できました。
$ yum list installed | grep php
php.x86_64 7.1.33-4.el7.remi @remi-php71
php-bcmath.x86_64 7.1.33-4.el7.remi @remi-php71
php-cli.x86_64 7.1.33-4.el7.remi @remi-php71
php-common.x86_64 7.1.33-4.el7.remi @remi-php71
php-fedora-autoloader.noarch 1.0.0-1.el7 @epel
php-gd.x86_64 7.1.33-4.el7.remi @remi-php71
php-json.x86_64 7.1.33-4.el7.remi @remi-php71
php-mbstring.x86_64 7.1.33-4.el7.remi @remi-php71
php-mcrypt.x86_64 7.1.33-4.el7.remi @remi-php71
php-mysqlnd.x86_64 7.1.33-4.el7.remi @remi-php71
php-pdo.x86_64 7.1.33-4.el7.remi @remi-php71
php-pecl-zip.x86_64 1.17.0-1.el7.remi.7.1 @remi-php71
php-php-gettext.noarch 1.0.12-1.el7 @epel
php-process.x86_64 7.1.33-4.el7.remi @remi-php71
php-tcpdf.noarch 6.2.26-1.el7 @epel
php-tcpdf-dejavu-sans-fonts.noarch 6.2.26-1.el7 @epel
php-tidy.x86_64 7.1.33-4.el7.remi @remi-php71
php-xml.x86_64 7.1.33-4.el7.remi @remi-php71
ここまでで、php関連パッケージをアンインストールしてから、remi-php73およびepelからphp関連パッケージをインストールすればよさそうなことがわかりました。
apacheを停止します。
$ sudo systemctl stop httpd
PHP7.1をアンインストールします。
$ sudo yum remove php-*
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
php x86_64 7.1.33-4.el7.remi @remi-php71 9.4 M
php-bcmath x86_64 7.1.33-4.el7.remi @remi-php71 94 k
php-cli x86_64 7.1.33-4.el7.remi @remi-php71 14 M
php-common x86_64 7.1.33-4.el7.remi @remi-php71 8.0 M
php-fedora-autoloader noarch 1.0.0-1.el7 @epel 15 k
php-gd x86_64 7.1.33-4.el7.remi @remi-php71 204 k
php-json x86_64 7.1.33-4.el7.remi @remi-php71 80 k
php-mbstring x86_64 7.1.33-4.el7.remi @remi-php71 2.8 M
php-mcrypt x86_64 7.1.33-4.el7.remi @remi-php71 89 k
php-mysqlnd x86_64 7.1.33-4.el7.remi @remi-php71 850 k
php-pdo x86_64 7.1.33-4.el7.remi @remi-php71 386 k
php-pecl-zip x86_64 1.17.0-1.el7.remi.7.1 @remi-php71 188 k
php-php-gettext noarch 1.0.12-1.el7 @epel 57 k
php-process x86_64 7.1.33-4.el7.remi @remi-php71 180 k
php-tcpdf noarch 6.2.26-1.el7 @epel 11 M
php-tcpdf-dejavu-sans-fonts noarch 6.2.26-1.el7 @epel 1.5 M
php-tidy x86_64 7.1.33-4.el7.remi @remi-php71 106 k
php-xml x86_64 7.1.33-4.el7.remi @remi-php71 855 k
Transaction Summary
================================================================================
Remove 18 Packages
意図しないパッケージがアンインストールされないように注意しましょう。
続いて、有効にするリポジトリを切り替えます。
remi-php71を無効化し、remi-php73を有効化します。
$ sudo vi /etc/yum.repos.d/remi-php71.repo
[remi-php71]
enabled=0
$ sudo vi /etc/yum.repos.d/remi-php73.repo
[remi-php73]
enabled=1
PHP7.3をインストールします。
対象パッケージは先ほどアンインストールしたものを指定します。
提供されていないパッケージがある可能性もあるので注意しましょう。
$ sudo yum install php php-bcmath php-cli php-common php-fedora-autoloader php-gd php-json php-mbstring php-mcrypt php-mysqlnd php-pdo php-pecl-zip php-php-gettext php-process php-tcpdf php-tcpdf-dejavu-sans-fonts php-tidy php-xml
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
php x86_64 7.3.14-1.el7.remi remi-php73 3.2 M
php-bcmath x86_64 7.3.14-1.el7.remi remi-php73 74 k
php-cli x86_64 7.3.14-1.el7.remi remi-php73 4.9 M
php-common x86_64 7.3.14-1.el7.remi remi-php73 1.1 M
php-fedora-autoloader noarch 1.0.0-1.el7 epel 9.6 k
php-gd x86_64 7.3.14-1.el7.remi remi-php73 81 k
php-json x86_64 7.3.14-1.el7.remi remi-php73 66 k
php-mbstring x86_64 7.3.14-1.el7.remi remi-php73 511 k
php-mysqlnd x86_64 7.3.14-1.el7.remi remi-php73 235 k
php-pdo x86_64 7.3.14-1.el7.remi remi-php73 128 k
php-pecl-mcrypt x86_64 1.0.3-1.el7.remi.7.3 remi-php73 30 k
php-pecl-zip x86_64 1.17.0-1.el7.remi.7.3 remi-php73 53 k
php-php-gettext noarch 1.0.12-1.el7 epel 23 k
php-process x86_64 7.3.14-1.el7.remi remi-php73 83 k
php-tcpdf noarch 6.2.26-1.el7 epel 2.1 M
php-tcpdf-dejavu-sans-fonts noarch 6.2.26-1.el7 epel 257 k
php-tidy x86_64 7.3.14-1.el7.remi remi-php73 67 k
php-xml x86_64 7.3.14-1.el7.remi remi-php73 208 k
Installing for dependencies:
libargon2 x86_64 20161029-3.el7 epel 23 k
oniguruma5 x86_64 6.9.4-1.el7.remi remi-safe 197 k
Transaction Summary
================================================================================
Install 18 Packages (+2 Dependent packages)
PHPのバージョンを確認します。
PHP7.3になっていれば成功です。
$ php -v
PHP 7.3.14 (cli) (built: Jan 21 2020 09:59:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.14, Copyright (c) 1998-2018 Zend Technologies
apacheを起動します。
$ sudo systemctl start httpd
ブラウザでPHPで作られているWEBシステムが確認できればOKでしょう。