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分弱で終わっています。
難しそうで実はやってることはカンタンなんだよっていうことを言いたい…(;´∀`)