CentOS Stream9でPHP7.4をインストールする手順

CentOS Stream9でデフォルトのリポジトリを使ってPHPをインストールするとPHP8.0系のバージョンになってしまうようです。PHP7.X系をインストールするには、remiリポジトリを利用する必要があるようです。PHP7.4をインストールした際の手順をまとめました。

※目次をクリックすると目次の下部にコンテンツが表示されます。

remiリポジトリをインストール
①現状のリポジトリを確認

# dnf repolist
repo id                       repo の名前
appstream                     CentOS Stream 9 - AppStream
baseos                        CentOS Stream 9 - BaseOS
extras-common                 CentOS Stream 9 - Extras packages

# dnf repolist all
repo id                     repo の名前                                   状態
appstream                   CentOS Stream 9 - AppStream                   有効化
appstream-debuginfo         CentOS Stream 9 - AppStream - Debug           無効化
appstream-source            CentOS Stream 9 - AppStream - Source          無効化
baseos                      CentOS Stream 9 - BaseOS                      有効化
baseos-debuginfo            CentOS Stream 9 - BaseOS - Debug              無効化
baseos-source               CentOS Stream 9 - BaseOS - Source             無効化
crb                         CentOS Stream 9 - CRB                         無効化
crb-debuginfo               CentOS Stream 9 - CRB - Debug                 無効化
crb-source                  CentOS Stream 9 - CRB - Source                無効化
extras-common               CentOS Stream 9 - Extras packages             有効化
extras-common-source        CentOS Stream 9 - Extras packages - Source    無効化
highavailability            CentOS Stream 9 - HighAvailability            無効化
highavailability-debuginfo  CentOS Stream 9 - HighAvailability - Debug    無効化
highavailability-source     CentOS Stream 9 - HighAvailability - Source   無効化
nfv                         CentOS Stream 9 - NFV                         無効化
nfv-debuginfo               CentOS Stream 9 - NFV - Debug                 無効化
nfv-source                  CentOS Stream 9 - NFV - Source                無効化
resilientstorage            CentOS Stream 9 - ResilientStorage            無効化
resilientstorage-debuginfo  CentOS Stream 9 - ResilientStorage - Debug    無効化
resilientstorage-source     CentOS Stream 9 - ResilientStorage - Source   無効化
rt                          CentOS Stream 9 - RT                          無効化
rt-debuginfo                CentOS Stream 9 - RT - Debug                  無効化
rt-source                   CentOS Stream 9 - RT - Source

 
②remiリポジトリのインストール

# dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

================================================================================
 パッケージ            Arch       バージョン            リポジトリー      サイズ
================================================================================
インストール:
 remi-release          noarch     9.2-1.el9.remi        @commandline       28 k
依存関係のインストール:
 epel-release          noarch     9-7.el9               extras-common      19 k
弱い依存関係のインストール:
 epel-next-release     noarch     9-7.el9               extras-common     8.1 k

トランザクションの概要
================================================================================
インストール  3 パッケージ
  :
  :
インストール済み:
  epel-next-release-9-7.el9.noarch           epel-release-9-7.el9.noarch
  remi-release-9.2-1.el9.remi.noarch

完了しました!

③インストール後のリポジトリの確認

# dnf repolist all
repo id                       repo の名前                                 状態
appstream                     CentOS Stream 9 - AppStream                 有効化
  :
baseos                        CentOS Stream 9 - BaseOS                    有効化
  :
epel                          Extra Packages for Enterprise Linux 9 - x86 有効化
epel-cisco-openh264           Extra Packages for Enterprise Linux 9 openh 有効化
  :
epel-next                     Extra Packages for Enterprise Linux 9 - Nex 有効化
  :
extras-common                 CentOS Stream 9 - Extras packages           有効化
  :
remi                          Remi's RPM repository for Enterprise Linux  無効化
remi-debuginfo                Remi's RPM repository for Enterprise Linux  無効化
remi-modular                  Remi's Modular repository for Enterprise Li 有効化
remi-modular-debuginfo        Remi's Modular repository for Enterprise Li 無効化
remi-modular-test             Remi's Modular testing repository for Enter 無効化
remi-modular-test-debuginfo   Remi's Modular testing repository for Enter 無効化
remi-safe                     Safe Remi's RPM repository for Enterprise L 有効化
remi-safe-debuginfo           Remi's RPM repository for Enterprise Linux  無効化
remi-test                     Remi's test RPM repository for Enterprise L 無効化
remi-test-debuginfo           Remi's test RPM repository for Enterprise L 無効化
  :

導入可能なPHPバージョンを確認
①remiリポジトリを有効化
デフォルト状態では無効になっていたので、有効化。

# dnf repolist
repo id           repo の名前
appstream         CentOS Stream 9 - AppStream
baseos            CentOS Stream 9 - BaseOS
extras-common     CentOS Stream 9 - Extras packages
remi-modular      Remi's Modular repository for Enterprise Linux 9 - x86_64
remi-safe         Safe Remi's RPM repository for Enterprise Linux 9 - x86_64

# dnf config-manager --set-enabled remi
# dnf repolist
repo id           repo の名前
appstream         CentOS Stream 9 - AppStream
baseos            CentOS Stream 9 - BaseOS
extras-common     CentOS Stream 9 - Extras packages
remi              Remi's RPM repository for Enterprise Linux 9 - x86_64
remi-modular      Remi's Modular repository for Enterprise Linux 9 - x86_64
remi-safe         Safe Remi's RPM repository for Enterprise Linux 9 - x86_64

 
②利用可能なPHPのモジュールを確認

# dnf module list php
  :
CentOS Stream 9 - AppStream
Name      Stream       Profiles                       Summary
php       8.1          common [d], devel, minimal     PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name      Stream       Profiles                       Summary
php       remi-7.4     common [d], devel, minimal     PHP scripting language
php       remi-8.0     common [d], devel, minimal     PHP scripting language
php       remi-8.1     common [d], devel, minimal     PHP scripting language
php       remi-8.2     common [d], devel, minimal     PHP scripting language
php       remi-8.3     common [d], devel, minimal     PHP scripting language

上記例では、PHP7.4が対応しています。

PHP7.4をインストール
1)PHPインストール
 
①利用可能なPHPバージョンを確

# dnf info php
  :
利用可能なパッケージ
名前         : php
バージョン   : 7.4.33
リリース     : 10.el9.remi
Arch         : x86_64
サイズ       : 2.2 M
ソース       : php-7.4.33-10.el9.remi.src.rpm
リポジトリー : remi-modular
  :

 
②PHPとその関連パッケージをインストール

# dnf install php
================================================================================
 パッケージ           Arch       バージョン              リポジトリー     サイズ
================================================================================
インストール:
 php                  x86_64     7.4.33-10.el9.remi      remi-modular     2.2 M
依存関係のインストール:
 libxslt              x86_64     1.1.34-9.el9            appstream        243 k
 oniguruma5php        x86_64     6.9.9-1.el9.remi        remi             219 k
 php-common           x86_64     7.4.33-10.el9.remi      remi-modular     784 k
 php-json             x86_64     7.4.33-10.el9.remi      remi-modular      35 k
弱い依存関係のインストール:
 nginx-filesystem     noarch     1:1.22.1-2.el9          appstream         12 k
 php-cli              x86_64     7.4.33-10.el9.remi      remi-modular     4.5 M
 php-fpm              x86_64     7.4.33-10.el9.remi      remi-modular     1.6 M
 php-mbstring         x86_64     7.4.33-10.el9.remi      remi-modular     519 k
 php-opcache          x86_64     7.4.33-10.el9.remi      remi-modular     300 k
 php-pdo              x86_64     7.4.33-10.el9.remi      remi-modular     101 k
 php-xml              x86_64     7.4.33-10.el9.remi      remi-modular     171 k

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

インストール済み:
  libxslt-1.1.34-9.el9.x86_64            nginx-filesystem-1:1.22.1-2.el9.noarch
  oniguruma5php-6.9.9-1.el9.remi.x86_64  php-7.4.33-10.el9.remi.x86_64
  php-cli-7.4.33-10.el9.remi.x86_64      php-common-7.4.33-10.el9.remi.x86_64
  php-fpm-7.4.33-10.el9.remi.x86_64      php-json-7.4.33-10.el9.remi.x86_64
  php-mbstring-7.4.33-10.el9.remi.x86_64 php-opcache-7.4.33-10.el9.remi.x86_64
  php-pdo-7.4.33-10.el9.remi.x86_64      php-xml-7.4.33-10.el9.remi.x86_64

完了しました!

# dnf install php-devel php-gmp php-process php-bcmath php-mysqlnd

================================================================================
 パッケージ             Arch      バージョン              リポジトリー    サイズ
================================================================================
インストール:
 php-bcmath             x86_64    7.4.33-10.el9.remi      remi-modular     41 k
 php-devel              x86_64    7.4.33-10.el9.remi      remi-modular    672 k
 php-gmp                x86_64    7.4.33-10.el9.remi      remi-modular     39 k
 php-mysqlnd            x86_64    7.4.33-10.el9.remi      remi-modular    221 k
 php-process            x86_64    7.4.33-10.el9.remi      remi-modular     54 k
依存関係のインストール:
 autoconf               noarch    2.69-38.el9             appstream       681 k
 automake               noarch    1.16.2-8.el9            appstream       689 k
 cmake-filesystem       x86_64    3.26.5-2.el9            appstream        19 k
 cpp                    x86_64    11.4.1-2.3.el9          appstream        11 M
 emacs-filesystem       noarch    1:27.2-9.el9            appstream       8.9 k
 gcc                    x86_64    11.4.1-2.3.el9          appstream        32 M
 gcc-c++                x86_64    11.4.1-2.3.el9          appstream        13 M
 glibc-devel            x86_64    2.34-88.el9             appstream        48 k
 glibc-headers          x86_64    2.34-88.el9             appstream       553 k
 kernel-headers         x86_64    5.14.0-391.el9          appstream       7.0 M
 keyutils-libs-devel    x86_64    1.6.3-1.el9             appstream        60 k
 krb5-devel             x86_64    1.21.1-1.el9            appstream       144 k
 libcom_err-devel       x86_64    1.46.5-4.el9            appstream        16 k
 libkadm5               x86_64    1.21.1-1.el9            baseos           78 k
 libmpc                 x86_64    1.2.1-4.el9             appstream        62 k
 libpkgconf             x86_64    1.7.3-10.el9            baseos           36 k
 libselinux-devel       x86_64    3.6-0.rc1.1.el9         appstream       159 k
 libsepol-devel         x86_64    3.6-0.rc1.1.el9         appstream        47 k
 libstdc++-devel        x86_64    11.4.1-2.3.el9          appstream       2.4 M
 libtool                x86_64    2.4.6-45.el9            appstream       582 k
 libverto-devel         x86_64    0.3.2-3.el9             appstream        15 k
 libxcrypt-devel        x86_64    4.4.18-3.el9            appstream        29 k
 libxml2-devel          x86_64    2.9.13-5.el9            appstream       898 k
 m4                     x86_64    1.4.19-1.el9            appstream       300 k
 make                   x86_64    1:4.3-7.el9             baseos          538 k
 openssl-devel          x86_64    1:3.0.7-24.el9          appstream       4.1 M
 pcre2-devel            x86_64    10.40-3.el9             appstream       512 k
 pcre2-utf16            x86_64    10.40-3.el9             appstream       214 k
 pcre2-utf32            x86_64    10.40-3.el9             appstream       203 k
 perl-DynaLoader        x86_64    1.47-480.el9            appstream        27 k
 perl-File-Compare      noarch    1.100.600-480.el9       appstream        14 k
 perl-File-Copy         noarch    2.34-480.el9            appstream        21 k
 perl-File-Find         noarch    1.37-480.el9            appstream        27 k
 perl-Thread-Queue      noarch    3.14-460.el9            appstream        22 k
 perl-threads           x86_64    1:2.25-460.el9          appstream        58 k
 perl-threads-shared    x86_64    1.61-460.el9            appstream        45 k
 pkgconf                x86_64    1.7.3-10.el9            baseos           41 k
 pkgconf-m4             noarch    1.7.3-10.el9            baseos           15 k
 pkgconf-pkg-config     x86_64    1.7.3-10.el9            baseos           11 k
 xz-devel               x86_64    5.2.5-8.el9             appstream        55 k
 zlib-devel             x86_64    1.2.11-41.el9           appstream        45 k

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

インストール済み:
  autoconf-2.69-38.el9.noarch
  automake-1.16.2-8.el9.noarch
  cmake-filesystem-3.26.5-2.el9.x86_64
  cpp-11.4.1-2.3.el9.x86_64
  emacs-filesystem-1:27.2-9.el9.noarch
  gcc-11.4.1-2.3.el9.x86_64
  gcc-c++-11.4.1-2.3.el9.x86_64
  glibc-devel-2.34-88.el9.x86_64
  glibc-headers-2.34-88.el9.x86_64
  kernel-headers-5.14.0-391.el9.x86_64
  keyutils-libs-devel-1.6.3-1.el9.x86_64
  krb5-devel-1.21.1-1.el9.x86_64
  libcom_err-devel-1.46.5-4.el9.x86_64
  libkadm5-1.21.1-1.el9.x86_64
  libmpc-1.2.1-4.el9.x86_64
  libpkgconf-1.7.3-10.el9.x86_64
  libselinux-devel-3.6-0.rc1.1.el9.x86_64
  libsepol-devel-3.6-0.rc1.1.el9.x86_64
  libstdc++-devel-11.4.1-2.3.el9.x86_64
  libtool-2.4.6-45.el9.x86_64
  libverto-devel-0.3.2-3.el9.x86_64
  libxcrypt-devel-4.4.18-3.el9.x86_64
  libxml2-devel-2.9.13-5.el9.x86_64
  m4-1.4.19-1.el9.x86_64
  make-1:4.3-7.el9.x86_64
  openssl-devel-1:3.0.7-24.el9.x86_64
  pcre2-devel-10.40-3.el9.x86_64
  pcre2-utf16-10.40-3.el9.x86_64
  pcre2-utf32-10.40-3.el9.x86_64
  perl-DynaLoader-1.47-480.el9.x86_64
  perl-File-Compare-1.100.600-480.el9.noarch
  perl-File-Copy-2.34-480.el9.noarch
  perl-File-Find-1.37-480.el9.noarch
  perl-Thread-Queue-3.14-460.el9.noarch
  perl-threads-1:2.25-460.el9.x86_64
  perl-threads-shared-1.61-460.el9.x86_64
  php-bcmath-7.4.33-10.el9.remi.x86_64
  php-devel-7.4.33-10.el9.remi.x86_64
  php-gmp-7.4.33-10.el9.remi.x86_64
  php-mysqlnd-7.4.33-10.el9.remi.x86_64
  php-process-7.4.33-10.el9.remi.x86_64
  pkgconf-1.7.3-10.el9.x86_64
  pkgconf-m4-1.7.3-10.el9.noarch
  pkgconf-pkg-config-1.7.3-10.el9.x86_64
  xz-devel-5.2.5-8.el9.x86_64
  zlib-devel-1.2.11-41.el9.x86_64

完了しました!

 
2)動作確認
 
①/var/www/html/ディレクトリに動作確認用スクリプト(php-test.php)を作成

<?php
phpinfo();
?>

 
②自端末のブラウザからアクセスし、動作確認
http://サーバーの外部IPアドレス/php-test.php

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください