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です。
*****************************************************************************
応援をお願いします。