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











