PHPのバージョンを7.3から7.4へアップしました。(技術者向け/CentOS7) | よしにぃのあふぱくブログ

PHPのバージョンを7.3から7.4へアップしました。(技術者向け/CentOS7)

そこそこ技術的なお話を今回はしようと思います。このブログで使っているサーバのミドルウェアのバージョンアップを行いました。今回の標的は、Webプログラミング言語の「PHP」です。

ちなみに、ミドルウェアとはなんぞ?という方に、説明文を貼っておきます。

ミドルウェア: Middleware)は、コンピュータの分野で、コンピュータの基本的な制御を行うオペレーティングシステム(OS)と、各業務処理を行うアプリケーションソフトウェアとの中間に入るソフトウェアのこと。

通常はオペレーティングシステムの機能の拡張、あるいはアプリケーションソフトウェアの汎用的(共通的)な機能を集めたものである。アプリケーションソフトウェアはミドルウェアに要求を出すと、ミドルウェアがオペレーティングシステムに必要な要求を出し、結果をアプリケーションソフトウェアに返す。あるいはミドルウェア自体が各アプリケーションソフトウェアの起動・停止・監視などを含めた制御を行う。

フリー百科事典『ウィキペディア(Wikipedia)』ミドルウェア

ミドルウェアのバージョンアップを行う理由としては、サーバの動作の高速化やバグの修正など様々ですが、今回は高速化がメインです。自分でサーバを動かしたい方向けになると思います。
ちなみにですが、このブログは WordPress で運営しています。
また、某大手の会社のクラウド環境(サーバ)を利用しており、CentOS7のサーバを導入し、nginxサーバ、PHP(remiリポジトリ)、MySQL環境などのセットアップは独自で行っています。

クラウド環境を導入したきっかけは、自分のスキル向上でもあり、最新の技術を僕も勉強していくためでもあります。ある意味、一石二鳥です。

では、実際のアップデートの方法をご紹介します。

PHPバージョンアップ方法

今回は、コマンドラインでバージョンアップを行う方法をご紹介します。
実際にアップデートしたコマンドを入力、および画面がどのように流れるかのログを貼り付けています。
※ここからはかなり技術的な話になります。

1. 現在インストールしているミドルウェアの確認

サーバにSSHターミナルでログインし、現在インストールしているミドルウェアを確認します。
CentOS7の場合は、yum list installed というコマンドでインストール済みのミドルウェアが確認できます。今回は、PHPのバージョンのみを確認しています。

[root@afpk ~]$ yum list installed | grep php
php.x86_64                            7.3.17-1.el7.remi              @remi-php73
php-cli.x86_64                        7.3.17-1.el7.remi              @remi-php73
php-common.x86_64                     7.3.17-1.el7.remi              @remi-php73
php-fpm.x86_64                        7.3.17-1.el7.remi              @remi-php73
php-gd.x86_64                         7.3.17-1.el7.remi              @remi-php73
php-json.x86_64                       7.3.17-1.el7.remi              @remi-php73
php-mbstring.x86_64                   7.3.17-1.el7.remi              @remi-php73
php-mysqlnd.x86_64                    7.3.17-1.el7.remi              @remi-php73
php-opcache.x86_64                    7.3.17-1.el7.remi              @remi-php73
php-pdo.x86_64                        7.3.17-1.el7.remi              @remi-php73
php-pecl-apcu.x86_64                  5.1.18-1.el7.remi.7.3          @remi-php73
php-pecl-mcrypt.x86_64                1.0.3-1.el7.remi.7.3           @remi-php73
php-pecl-mysql.x86_64                 1.0.0-0.20.20180226.647c933.el7.remi.7.3
                                                                     @remi-php73
php-pecl-zip.x86_64                   1.17.1-1.el7.remi.7.3          @remi-php73
php-xml.x86_64                        7.3.17-1.el7.remi              @remi-php73
php-xmlrpc.x86_64                     7.3.17-1.el7.remi              @remi-php73

2. 新しいPHPバージョンのインストール

PHP7.4 へのバージョンアップをコマンド入力で行います。
新しいバージョンのPHPがインストールされるため、確認のため「Is this ok [y/d/N]:」と画面上に表示されるので「y」と入力します。

[root@afpk ~]$ yum install --enablerepo=remi-php74 php
=========================================================================================================
 Package              アーキテクチャー
                                  バージョン                                       リポジトリー     容量
=========================================================================================================
更新します:
 php                  x86_64      7.4.8-2.el7.remi                                 remi-php74      3.4 M
依存性関連でのインストールをします:
 libsodium            x86_64      1.0.18-1.el7                                     epel            147 k
 php-sodium           x86_64      7.4.8-2.el7.remi                                 remi-php74       81 k
依存性関連での更新をします:
 php-cli              x86_64      7.4.8-2.el7.remi                                 remi-php74      5.1 M
 php-common           x86_64      7.4.8-2.el7.remi                                 remi-php74      1.2 M
 php-fpm              x86_64      7.4.8-2.el7.remi                                 remi-php74      1.8 M
 php-gd               x86_64      7.4.8-2.el7.remi                                 remi-php74       85 k
 php-json             x86_64      7.4.8-2.el7.remi                                 remi-php74       70 k
 php-mbstring         x86_64      7.4.8-2.el7.remi                                 remi-php74      522 k
 php-mysqlnd          x86_64      7.4.8-2.el7.remi                                 remi-php74      250 k
 php-opcache          x86_64      7.4.8-2.el7.remi                                 remi-php74      327 k
 php-pdo              x86_64      7.4.8-2.el7.remi                                 remi-php74      135 k
 php-pecl-apcu        x86_64      5.1.18-1.el7.remi.7.4                            remi-php74       76 k
 php-pecl-mcrypt      x86_64      1.0.3-1.el7.remi.7.4                             remi-php74       30 k
 php-pecl-mysql       x86_64      1.0.0-0.23.20190415.d7643af.el7.remi.7.4         remi-php74       39 k
 php-pecl-zip         x86_64      1.19.0-1.el7.remi.7.4                            remi-php74       60 k
 php-xml              x86_64      7.4.8-2.el7.remi                                 remi-php74      205 k
 php-xmlrpc           x86_64      7.4.8-2.el7.remi                                 remi-php74       87 k
トランザクションの要約
=========================================================================================================
インストール               (  2 個の依存関係のパッケージ)
更新          1 パッケージ (+15 個の依存関係のパッケージ)
総ダウンロード容量: 14 M
Is this ok [y/d/N]: y

3. PHPバージョンアップ確認

サーバのPHPバージョンが上がったことを確認します。

[root@afpk ~]$ php -v
PHP 7.4.8 (cli) (built: Jul  9 2020 08:57:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.8, Copyright (c), by Zend Technologies

4. Webサーバを再起動します。

[root@afpk ~]$ service php-fpm restart
Redirecting to /bin/systemctl restart php-fpm.service

ということで、方法は以上となります。

普段このブログでは、なかなか話さない内部事情…というよりはよしにぃの本業のお話。
ちなみに、コマンドだけなので更新作業も10分弱で終わっています。
難しそうで実はやってることはカンタンなんだよっていうことを言いたい…(;´∀`)