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バージョンを確認
①利用可能な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
-
インストール、設定
- PHPの設定、更新時の参考情報メモ
- PHPのインストール
- CentOS6でPHP5.3からPHP7.1へアップデート
- CentOS6.10でPHP7.1からPHP7.2へアップデート
- CentOS Stream9でPHP7.4をインストールする手順
- CentOSでPHPのマルチバイト文字列(MBstring)関数を使えるようにする
- PHPでタイムスタンプをログファイルに記録
- PHPのバージョンが表示されないようにする
- セキュリティを考慮した/etc/php.iniの設定
- CentOS6でAPC(Alternative PHP Cache)をインストール、チューニング
- PHPスクリプトで出力データを圧縮する方法
- PHPの変数、スコープ
- PHPの型の概要、種類
- PHPのクラス操作の概要
- PHPの配列操作の概要
- PHPで文字列のマッチング
- require,require_once,include,include_onceの違い
- CentOS環境のPHPでPDOを使ってMySQLからJSONでデータ取得
- PHPでHTMLテーブルをJSONに変換
- PHPでディレクトリ内のファイル一覧をJSONで出力
- PDOを使ってテーブルに保存
- PDOでSQLインジェクション対策
- phpとpChartを使ってWebサイトにグラフ表示
性能
プログラミングの基本
PDO、データベース、JSON
その他