PHP 7.x から PHP 8.0にバージョンアップ

CentOS 8でPHP 8.0にバージョンアップ

CentOS 8で、PHP 7.3で運用しているサーバーのPHPをPHP 8にバージョンアップしました。その手順を紹介します
Wordpress等、PHPを利用している環境では、バージョンアップ後にWordpressが動かない可能性がありますので、インストールする前にバックアップを行ったほうがいいです。

私の環境では、Wordpressで利用しているプラグインが問題で、Wordpressが稼働しなくなりました。動かなくなったプラグインを無効にしたり削除したりして、対応しました。その対応は別記事で紹介する予定です

EPEL, remiのレポジトリをインストールします

CentOSの標準では、PHP8はインストールできないので、EPELとremiのレポジトリを以下のようにインストールします

# EPELのレポジトリをインストール
$ sudo dnf install epel-release

# remiレポジトリをインストール
$ sudo dnf install http://rpms.famillecollet.com/enterprise/remi-release-8.rpm

インストールしているPHPのパッケージを確認します

インストールする前にインストールされているPHPを確認します。
※ インストールがうまく行かなった場合に再度インストールする可能性もあるので、メモしておきます

$ sudo dnf list --installed php*
インストール済みパッケージ
php.x86_64                                7.3.10-2.el8.remi                  @remi-modular
php-cli.x86_64                            7.3.10-2.el8.remi                  @remi-modular
php-common.x86_64                         7.3.10-2.el8.remi                  @remi-modular
php-fedora-autoloader.noarch              1.0.1-2.el8.remi                   @remi-safe   
php-fpm.x86_64                            7.3.10-2.el8.remi                  @remi-modular
php-gd.x86_64                             7.3.10-2.el8.remi                  @remi-modular
php-mbstring.x86_64                       7.3.10-2.el8.remi                  @remi-modular
php-mysqlnd.x86_64                        7.3.10-2.el8.remi                  @remi-modular

PHP 8.0 をインストールする

remiでインストールできるPHPのバージョンを確認します。PHP 8がインストールできるので、PHP 8をインストールしていきます

$ sudo dnf module list php 

CentOS Linux 8 - AppStream
Name       Stream             Profiles                         Summary                    
php        7.2 [d]            common [d], devel, minimal       PHP scripting language     
php        7.3                common [d], devel, minimal       PHP scripting language     
php        7.4                common [d], devel, minimal       PHP scripting language     

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name       Stream             Profiles                         Summary                    
php        remi-7.2           common [d], devel, minimal       PHP scripting language     
php        remi-7.3           common [d], devel, minimal       PHP scripting language     
php        remi-7.4           common [d], devel, minimal       PHP scripting language     
php        remi-8.0 [e]       common [d], devel, minimal       PHP scripting language 

PHP 8をインストールするには、今インストールしているPHPをモジュールをリセットします

$ sudo dnf module reset php

PHPをモジュールをリセットできたら、PHP 8にバージョンアップします

$ sudo dnf module enable php:remi-8.0
メタデータの期限切れの最終確認: 2:27:23 時間前の 2021年08月25日 07時24分05秒 に実施しまし
た。
依存関係が解決しました。
==========================================================================================
 パッケージ           アーキテクチャー    バージョン           リポジトリー         サイズ
==========================================================================================
モジュールストリームの有効化中:
 php                                      remi-8.0                                       

トランザクションの概要
==========================================================================================

これでよろしいですか? [y/N]: y
完了しました!

# php関連のパッケージをインストールします
$ sudo dnf install --enablerepo=epel,remi php php-mbstring php-pear php-mysqlnd php-gd php-pecl-zip php-json

# バージョンアップできたか確認します
$ php -v
PHP 7.3.29 (cli) (built: Jun 29 2021 09:30:31) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.29, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.29, Copyright (c) 1999-2018, by Zend Technologies
[root@vultr_www01 ~]#  dnf module list php

スポンサーリンク

LinuxCentOS 8,php

Posted by admin