CentOS6.10 PHP7.1からPHP7.3へバージョンアップ
久しぶりのPHPのアップデートです。
昔の記事(CentOS6.5 php5.5からphp7.1へバージョンアップ)をみると2017年6月にアップデートしてました。
一応現在のバージョン確認
[root@tkweblife share]# php --version PHP 7.1.6 (cli) (built: Jun 7 2017 12:30:47) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
様々なサイトでもバージョンアップしてますが大体というか名目は、バージョンアップですが実際は、クリーンインストールのようなものです。
phpを削除する前に一応php.iniをバックアップしておきます。
[root@tkweblife ~]# cp -pr /etc/php.ini /etc/php.ini.20200119
つづいて現在のPHP7.1を削除します。
[root@tkweblife ~]# yum remove php-*
読み込んだプラグイン:fastestmirror, priorities, security
削除処理の設定をしています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package php.x86_64 0:7.1.6-1.el6.remi will be 削除
---> Package php-cli.x86_64 0:7.1.6-1.el6.remi will be 削除
---> Package php-common.x86_64 0:7.1.6-1.el6.remi will be 削除
---> Package php-json.x86_64 0:7.1.6-1.el6.remi will be 削除
---> Package php-mbstring.x86_64 0:7.1.6-1.el6.remi will be 削除
---> Package php-mcrypt.x86_64 0:7.1.6-1.el6.remi will be 削除
---> Package php-mysqlnd.x86_64 0:7.1.6-1.el6.remi will be 削除
---> Package php-pdo.x86_64 0:7.1.6-1.el6.remi will be 削除
---> Package php-pear.noarch 1:1.10.4-2.el6.remi will be 削除
---> Package php-pecl-zip.x86_64 0:1.14.0-1.el6.remi.7.1 will be 削除
---> Package php-process.x86_64 0:7.1.6-1.el6.remi will be 削除
---> Package php-xml.x86_64 0:7.1.6-1.el6.remi will be 削除
--> 依存性解決を終了しました。
依存性を解決しました
=============================================================================
パッケージ アーキテクチャ
バージョン リポジトリー 容
=============================================================================
削除:
php x86_64 7.1.6-1.el6.remi @remi-php71 9.2
php-cli x86_64 7.1.6-1.el6.remi @remi-php71 12
php-common x86_64 7.1.6-1.el6.remi @remi-php71 7.8
php-json x86_64 7.1.6-1.el6.remi @remi-php71 77
php-mbstring x86_64 7.1.6-1.el6.remi @remi-php71 2.7
php-mcrypt x86_64 7.1.6-1.el6.remi @remi-php71 79
php-mysqlnd x86_64 7.1.6-1.el6.remi @remi-php71 814
php-pdo x86_64 7.1.6-1.el6.remi @remi-php71 345
php-pear noarch 1:1.10.4-2.el6.remi @remi 2.1
php-pecl-zip x86_64 1.14.0-1.el6.remi.7.1 @remi-php71 166
php-process x86_64 7.1.6-1.el6.remi @remi-php71 148
php-xml x86_64 7.1.6-1.el6.remi @remi-php71 786
トランザクションの要約
=============================================================================
削除 12 パッケージ
インストール済み容量: 36 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
削除中 : 1:php-pear-1.10.4-2.el6.remi.noarch 1/
削除中 : php-7.1.6-1.el6.remi.x86_64 2/
削除中 : php-cli-7.1.6-1.el6.remi.x86_64 3/
削除中 : php-process-7.1.6-1.el6.remi.x86_64 4/
削除中 : php-xml-7.1.6-1.el6.remi.x86_64 5/
削除中 : php-mysqlnd-7.1.6-1.el6.remi.x86_64 6/
削除中 : php-pdo-7.1.6-1.el6.remi.x86_64 7/
削除中 : php-pecl-zip-1.14.0-1.el6.remi.7.1.x86_64 8/
削除中 : php-mcrypt-7.1.6-1.el6.remi.x86_64 9/
削除中 : php-mbstring-7.1.6-1.el6.remi.x86_64 10/
削除中 : php-json-7.1.6-1.el6.remi.x86_64 11/
削除中 : php-common-7.1.6-1.el6.remi.x86_64 12/
警告: /etc/php.ini は /etc/php.ini.rpmsave として保存されました。
Verifying : php-common-7.1.6-1.el6.remi.x86_64 1/
Verifying : php-process-7.1.6-1.el6.remi.x86_64 2/
Verifying : php-pdo-7.1.6-1.el6.remi.x86_64 3/
Verifying : php-mbstring-7.1.6-1.el6.remi.x86_64 4/
Verifying : php-mcrypt-7.1.6-1.el6.remi.x86_64 5/
Verifying : php-json-7.1.6-1.el6.remi.x86_64 6/
Verifying : php-cli-7.1.6-1.el6.remi.x86_64 7/
Verifying : php-7.1.6-1.el6.remi.x86_64 8/
Verifying : 1:php-pear-1.10.4-2.el6.remi.noarch 9/
Verifying : php-xml-7.1.6-1.el6.remi.x86_64 10/
Verifying : php-pecl-zip-1.14.0-1.el6.remi.7.1.x86_64 11/
Verifying : php-mysqlnd-7.1.6-1.el6.remi.x86_64 12/
削除しました:
php.x86_64 0:7.1.6-1.el6.remi
php-cli.x86_64 0:7.1.6-1.el6.remi
php-common.x86_64 0:7.1.6-1.el6.remi
php-json.x86_64 0:7.1.6-1.el6.remi
php-mbstring.x86_64 0:7.1.6-1.el6.remi
php-mcrypt.x86_64 0:7.1.6-1.el6.remi
php-mysqlnd.x86_64 0:7.1.6-1.el6.remi
php-pdo.x86_64 0:7.1.6-1.el6.remi
php-pear.noarch 1:1.10.4-2.el6.remi
php-pecl-zip.x86_64 0:1.14.0-1.el6.remi.7.1
php-process.x86_64 0:7.1.6-1.el6.remi
php-xml.x86_64 0:7.1.6-1.el6.remi
完了しました!
上記で削除完了です。
次にphp7.3を入れるためのリポジトリを登録します。
現在は、リポジトリは、
[root@tkweblife yum.repos.d]# ls CentOS-Base.repo CentOS-fasttrack.repo mysql-community.repo CentOS-Base.repo.rpmnew epel-testing.repo remi-php54.repo CentOS-Debuginfo.repo epel.repo remi-php70.repo CentOS-Media.repo mirrors-rpmforge remi-php71.repo CentOS-SCLo-scl-rh.repo mirrors-rpmforge-extras remi-safe.repo CentOS-SCLo-scl.repo mirrors-rpmforge-testing remi.repo CentOS-Vault.repo mysql-community-source.repo rpmforge.repo
上記では、remi-php71.repoは、あるけれど入れたいphp7.3が入ったremi-php73.repoがありません。
そのためもう一度remiレポジトリを入れなおします。
[root@tkweblife yum.repos.d]#rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm http://rpms.famillecollet.com/enterprise/remi-release-6.rpm を取得中 準備中... ########################################### [100%] 1:remi-release 警告: /etc/yum.repos.d/remi-safe.repo は /etc/yum pos.d/remi-safe.repo.rpmnew として作成されました。 ########################################### [100%] [root@tkweblife yum.repos.d]# ls CentOS-Base.repo mirrors-rpmforge remi-php70.repo CentOS-Base.repo.rpmnew mirrors-rpmforge-extras remi-php71.repo CentOS-Debuginfo.repo mirrors-rpmforge-testing remi-php72.repo CentOS-Media.repo mysql-community-source.repo remi-php73.repo CentOS-SCLo-scl-rh.repo mysql-community.repo remi-safe.repo CentOS-SCLo-scl.repo remi-glpi91.repo remi-safe.repo.rpmnew CentOS-Vault.repo remi-glpi92.repo remi.repo CentOS-fasttrack.repo remi-glpi93.repo rpmforge.repo epel-testing.repo remi-glpi94.repo epel.repo remi-php54.repo
remi-php73.repoが登録されました。
続いてphp7.3をインストールします。
[root@tkweblife ~]# yum install --disablerepo=* --enablerepo=epel,remi,remi-php73 php
上記のように純粋にphp7.3だけをインストールするときは、これでいいのですがワードプレスなどを使用するときは、php-mysqlndなども必要になります。もし足りない場合は、下記のような画面になります。

お使いのサーバのPHPでは、WORDPRESSに必要なMySQL関数を利用できないようです。
と表示されてしまいます。
そのためREMOVE(削除)した時のログをみて必要なものを一緒にインストールしてください。
ちなみに下記では、すでにPHP7.3のみインストールして上記のようにエラーが出たので
php-7.3.13-1.el6.remi.x86_64 はインストール済みという表示がありますが気にしないでください。
また、php-develというものは、入れようとするとエラーがでてできなかったので入れていません。
違うサイトで入れていたのでインストールしようとして四苦八苦しておりました。
[root@tkweblife yum.repos.d]# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php php-mbstring php-pdo php-gd php-xml php-mcrypt php-ql php-common
読み込んだプラグイン:fastestmirror, priorities, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
* epel: mirrors.aliyun.com
* remi: ftp.riken.jp
* remi-php73: ftp.riken.jp
* remi-safe: ftp.riken.jp
パッケージ php-7.3.13-1.el6.remi.x86_64 はインストール済みか最新バージョンで
パッケージ php-mcrypt は php-pecl-mcrypt によって不要になりました。代わりにpecl-mcrypt-1.0.3-1.el6.remi.7.3.x86_64 のインストールを試みています。
パッケージ php-mysql は php-mysqlnd によって不要になりました。代わりに php-mysqlnd-7.3.13-1.el6.remi.x86_64 のインストールを試みています。
パッケージ php-common-7.3.13-1.el6.remi.x86_64 はインストール済みか最新バージョンです
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package php-gd.x86_64 0:7.3.13-1.el6.remi will be インストール
--> 依存性の処理をしています: gd-last(x86-64) >= 2.1.1 のパッケージ: php-gd-7 13-1.el6.remi.x86_64
--> 依存性の処理をしています: libgd.so.3()(64bit) のパッケージ: php-gd-7.3.13 el6.remi.x86_64
---> Package php-mbstring.x86_64 0:7.3.13-1.el6.remi will be インストール
--> 依存性の処理をしています: libonig.so.5()(64bit) のパッケージ: php-mbstrin.3.13-1.el6.remi.x86_64
---> Package php-mysqlnd.x86_64 0:7.3.13-1.el6.remi will be インストール
---> Package php-pdo.x86_64 0:7.3.13-1.el6.remi will be インストール
---> Package php-pecl-mcrypt.x86_64 0:1.0.3-1.el6.remi.7.3 will be インストー
---> Package php-xml.x86_64 0:7.3.13-1.el6.remi will be インストール
--> トランザクションの確認を実行しています。
---> Package gd-last.x86_64 0:2.2.5-10.el6.remi will be インストール
--> 依存性の処理をしています: libwebp.so.5()(64bit) のパッケージ: gd-last-2.2 10.el6.remi.x86_64
---> Package oniguruma5.x86_64 0:6.9.4-1.el6.remi will be インストール
--> トランザクションの確認を実行しています。
---> Package libwebp.x86_64 0:0.4.3-3.el6 will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
=============================================================================
パッケージ アーキテクチャ
バージョン リポジトリー 容
=============================================================================
インストールしています:
php-gd x86_64 7.3.13-1.el6.remi remi-php73 76
php-mbstring x86_64 7.3.13-1.el6.remi remi-php73 861
php-mysqlnd x86_64 7.3.13-1.el6.remi remi-php73 213
php-pdo x86_64 7.3.13-1.el6.remi remi-php73 115
php-pecl-mcrypt x86_64 1.0.3-1.el6.remi.7.3 remi-php73 27
php-xml x86_64 7.3.13-1.el6.remi remi-php73 177
依存性関連でのインストールをします。:
gd-last x86_64 2.2.5-10.el6.remi remi 129
libwebp x86_64 0.4.3-3.el6 epel 210
oniguruma5 x86_64 6.9.4-1.el6.remi remi 193
トランザクションの要約
=============================================================================
インストール 9 パッケージ
総ダウンロード容量: 2.0 M
インストール済み容量: 5.9 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
(1/9): gd-last-2.2.5-10.el6.remi.x86_64.rpm | 129 kB 00:00
(2/9): libwebp-0.4.3-3.el6.x86_64.rpm | 210 kB 00:00
(3/9): oniguruma5-6.9.4-1.el6.remi.x86_64.rpm | 193 kB 00:00
(4/9): php-gd-7.3.13-1.el6.remi.x86_64.rpm | 76 kB 00:00
(5/9): php-mbstring-7.3.13-1.el6.remi.x86_64.rpm | 861 kB 00:00
(6/9): php-mysqlnd-7.3.13-1.el6.remi.x86_64.rpm | 213 kB 00:00
(7/9): php-pdo-7.3.13-1.el6.remi.x86_64.rpm | 115 kB 00:00
(8/9): php-pecl-mcrypt-1.0.3-1.el6.remi.7.3.x86_64.rpm | 27 kB 00:00
(9/9): php-xml-7.3.13-1.el6.remi.x86_64.rpm | 177 kB 00:00
-----------------------------------------------------------------------------
合計 1.3 MB/s | 2.0 MB 00:01
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : php-pdo-7.3.13-1.el6.remi.x86_64 1
インストールしています : oniguruma5-6.9.4-1.el6.remi.x86_64 2
インストールしています : libwebp-0.4.3-3.el6.x86_64 3
インストールしています : gd-last-2.2.5-10.el6.remi.x86_64 4
インストールしています : php-gd-7.3.13-1.el6.remi.x86_64 5
インストールしています : php-mbstring-7.3.13-1.el6.remi.x86_64 6
インストールしています : php-mysqlnd-7.3.13-1.el6.remi.x86_64 7
インストールしています : php-pecl-mcrypt-1.0.3-1.el6.remi.7.3.x86_64 8
インストールしています : php-xml-7.3.13-1.el6.remi.x86_64 9
Verifying : libwebp-0.4.3-3.el6.x86_64 1
Verifying : php-mbstring-7.3.13-1.el6.remi.x86_64 2
Verifying : oniguruma5-6.9.4-1.el6.remi.x86_64 3
Verifying : gd-last-2.2.5-10.el6.remi.x86_64 4
Verifying : php-gd-7.3.13-1.el6.remi.x86_64 5
Verifying : php-xml-7.3.13-1.el6.remi.x86_64 6
Verifying : php-pecl-mcrypt-1.0.3-1.el6.remi.7.3.x86_64 7
Verifying : php-mysqlnd-7.3.13-1.el6.remi.x86_64 8
Verifying : php-pdo-7.3.13-1.el6.remi.x86_64 9
インストール:
php-gd.x86_64 0:7.3.13-1.el6.remi
php-mbstring.x86_64 0:7.3.13-1.el6.remi
php-mysqlnd.x86_64 0:7.3.13-1.el6.remi
php-pdo.x86_64 0:7.3.13-1.el6.remi
php-pecl-mcrypt.x86_64 0:1.0.3-1.el6.remi.7.3
php-xml.x86_64 0:7.3.13-1.el6.remi
依存性関連をインストールしました:
gd-last.x86_64 0:2.2.5-10.el6.remi libwebp.x86_64 0:0.4.3-3.el6
oniguruma5.x86_64 0:6.9.4-1.el6.remi
完了しました!
削除したphp関連モジュールをもう一度確認すると下記のものも必要そうなのでインストールしました。
[root@tkweblife yum.repos.d]# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php-cli php-common php-json php-mcrypt php-pear php-pecl-zip php-process
読み込んだプラグイン:fastestmirror, priorities, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
* epel: www.ftp.ne.jp
* remi: ftp.riken.jp
* remi-php73: ftp.riken.jp
* remi-safe: ftp.riken.jp
パッケージ php-cli-7.3.13-1.el6.remi.x86_64 はインストール済みか最新バージョン です
パッケージ php-common-7.3.13-1.el6.remi.x86_64 はインストール済みか最新バージョンです
パッケージ php-json-7.3.13-1.el6.remi.x86_64 はインストール済みか最新バージョンです
パッケージ php-mcrypt-5.4.45-18.el6.remi.x86_64 は既にインストール済みのphp-pecl-mcrypt-1.0.3-1.el6.remi.7.3.x86_64 によって不要扱いになりました。
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package php-pear.noarch 1:1.10.10-4.el6.remi will be インストール
--> 依存性の処理をしています: php-composer(fedora/autoloader) のパッケージ: 1:php-pear-1.10.10-4.el6.remi.noarch
---> Package php-pecl-zip.x86_64 0:1.15.5-1.el6.remi.7.3 will be インストール
--> 依存性の処理をしています: libzip5(x86-64) >= 1.5.2 のパッケージ: php-pecl-zip-1.15.5-1.el6.remi.7.3.x86_64
---> Package php-process.x86_64 0:7.3.13-1.el6.remi will be インストール
--> トランザクションの確認を実行しています。
---> Package libzip5.x86_64 0:1.2.0-1.el6.remi will be 更新
---> Package libzip5.x86_64 0:1.5.2-1.el6.remi will be an update
---> Package php-fedora-autoloader.noarch 0:1.0.0-1.el6.remi will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
===============================================================================
パッケージ アーキテクチャ
バージョン リポジトリー 容量
===============================================================================
インストールしています:
php-pear noarch 1:1.10.10-4.el6.remi remi 374 k
php-pecl-zip x86_64 1.15.5-1.el6.remi.7.3 remi-php73 46 k
php-process x86_64 7.3.13-1.el6.remi remi-php73 71 k
依存性関連でのインストールをします。:
php-fedora-autoloader noarch 1.0.0-1.el6.remi remi 8.8 k
依存性関連での更新をします。:
libzip5 x86_64 1.5.2-1.el6.remi remi 52 k
トランザクションの要約
===============================================================================
インストール 4 パッケージ
アップグレード 1 パッケージ
総ダウンロード容量: 552 k
これでいいですか? [y/N]y
パッケージをダウンロードしています:
(1/5): libzip5-1.5.2-1.el6.remi.x86_64.rpm | 52 kB 00:00
(2/5): php-fedora-autoloader-1.0.0-1.el6.remi.noarch.rp | 8.8 kB 00:00
(3/5): php-pear-1.10.10-4.el6.remi.noarch.rpm | 374 kB 00:00
(4/5): php-pecl-zip-1.15.5-1.el6.remi.7.3.x86_64.rpm | 46 kB 00:00
(5/5): php-process-7.3.13-1.el6.remi.x86_64.rpm | 71 kB 00:00
-------------------------------------------------------------------------------
合計 1.5 MB/s | 552 kB 00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : php-fedora-autoloader-1.0.0-1.el6.remi.noarc 1/6
インストールしています : php-process-7.3.13-1.el6.remi.x86_64 2/6
更新 : libzip5-1.5.2-1.el6.remi.x86_64 3/6
インストールしています : php-pecl-zip-1.15.5-1.el6.remi.7.3.x86_64 4/6
インストールしています : 1:php-pear-1.10.10-4.el6.remi.noarch 5/6
整理中 : libzip5-1.2.0-1.el6.remi.x86_64 6/6
Verifying : libzip5-1.5.2-1.el6.remi.x86_64 1/6
Verifying : php-pecl-zip-1.15.5-1.el6.remi.7.3.x86_64 2/6
Verifying : php-process-7.3.13-1.el6.remi.x86_64 3/6
Verifying : 1:php-pear-1.10.10-4.el6.remi.noarch 4/6
Verifying : php-fedora-autoloader-1.0.0-1.el6.remi.noarc 5/6
Verifying : libzip5-1.2.0-1.el6.remi.x86_64 6/6
インストール:
php-pear.noarch 1:1.10.10-4.el6.remi
php-pecl-zip.x86_64 0:1.15.5-1.el6.remi.7.3
php-process.x86_64 0:7.3.13-1.el6.remi
依存性関連をインストールしました:
php-fedora-autoloader.noarch 0:1.0.0-1.el6.remi
依存性を更新しました:
libzip5.x86_64 0:1.5.2-1.el6.remi
完了しました!
3つに分けてインストールしましたが下記一つで多分いけると思います。
yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php php-mbstring php-pdo php-gd php-xml php-mcrypt php-ql php-common php-cli php-json php-mcrypt php-pear php-pecl-zip php-process
あとは、アパッチの再起動で反映されます。
[root@tkweblife yum.repos.d]# /etc/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ] [root@tkweblife yum.repos.d]# php -m | grep mysql mysqli mysqlnd pdo_mysql [root@tkweblife yum.repos.d]# php --version PHP 7.3.13 (cli) (built: Dec 17 2019 16:10:55) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.13, Copyright (c) 1998-2018 Zend Technologies [root@tkweblife yum.repos.d]#
それと以前使用していたファイルから個人的に修正した部分をPHP.INIファイルに修正してOKです。
*****************************************************************************
応援をお願いします。








