CentOS6.10 PHP7.1からPHP7.3へバージョンアップ

2020 年 1 月 19 日 Comments off

久しぶりの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です。

*****************************************************************************

応援をお願いします。

ブログランキング・にほんブログ村へ
にほんブログ村

PVアクセスランキング にほんブログ村

カテゴリー: apache, Linux, php タグ: , ,