RHEL 8 / CentOS 8 Linuxシステムでは、ソフトウェアの編成方法が変更されました。重要なパッケージがBaseOsに含まれるようになりました。 リポジトリ、AppStream 1つには、モジュールに編成され、配布リリースサイクルとは関係なく更新される、最も一般的に使用されるアプリケーションとプログラミング言語の複数のバージョンが含まれています。この戦略は、特定のソフトウェアの特定のリリース、古すぎるリリース、または最新のリリースにとらわれる問題を回避するために採用されました。
このチュートリアルでは、次のことを学びます。
- PHPをRHEL8/CentOS8にインストールする方法
- RHEL 8 /CentOS8のソフトウェアモジュールとは
- PHPモジュールの異なるバージョンをインストールして切り替える方法
RHEL8で利用可能なphpモジュール
使用されるソフトウェア要件と規則
| カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
|---|---|
| RHEL 8 / CentOS 8 | |
| このチュートリアルに従うために追加のソフトウェアは必要ありません | |
| root権限でコマンドを実行する権限。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
PHPとは何ですか?
PHP(PHP:Hypertext Preprocessor)は、多くのプレゼンテーションを必要としません。この汎用プログラミング言語は、もともとRasmus Lerdorfによって1994年に作成され、PHPライセンスの下でオープンソースソフトウェアとしてリリースされています。アプリケーションの主な分野はWebですが、この言語は他のコンテキストでも使用できます。 RHEL 8 / CentOS 8には、2つの主要なリポジトリが有効になっています:BaseOs およびAppStream 。
1つ目は、ディストリビューション自体のライフサイクルに従うディストリビューションのコアパッケージを
含みます。 2つ目は、メインのディストリビューションとは関係なく更新される、いくつかのユーザースペースアプリケーションのさまざまなバージョンが含まれています。後者に含まれるソフトウェアは、modulesで構成されています。 。各モジュールは、使用可能なものを切り替えることを可能にするアプリケーションの異なるバージョンを提供します(ただし、それらを同時にインストールすることはできません)。このチュートリアルでは、PHPをインストールし、RHEL 8 /CentOS8ディストリビューションでこの言語の異なるバージョンを切り替えるのがいかに簡単かを説明します。
どのPHPバージョンですか?
PHPの5.6バージョンは現在正式に廃止されていますが(2019年1月1日にEOLに達しました)、プログラミング言語の3つのブランチが現在維持されています:7.1 、実際にはセキュリティ修正のみを受け取り、2019年12月1日までパッチが適用され、バージョン7.2 および7.3 、2020年11月30日と2021年12月6日までそれぞれサポートされます。
AppStreamからRHEL8/CentOS8でデフォルトで提供されるPHPのバージョン リポジトリは7.2.11です 、dnf info phpを実行して確認できるため 次の出力を返すコマンド:
Available Packages
Name : php
Version : 7.2.11
Release : 1.el8+2002+9409c40c
Arch : x86_64
Size : 1.5 M
Source : php-7.2.11-1.el8+2002+9409c40c.src.rpm
Repo : rhel-8-for-x86_64-appstream-beta-rpms
Summary : PHP scripting language for creating dynamic web sites
URL : http://www.php.net/
License : PHP and Zend and BSD and MIT and ASL 1.0
Description : PHP is an HTML-embedded scripting language. PHP attempts to make it
: easy for developers to write dynamically generated web pages. PHP also
: offers built-in database integration for several commercial and
: non-commercial database management systems, so writing a
: database-enabled webpage with PHP is fairly simple. The most common
: use of PHP coding is probably as a replacement for CGI scripts.
:
: The php package contains the module (often referred to as mod_php)
: which adds support for the PHP language to Apache HTTP Server.
AppStreamで利用可能な他のPHPバージョンはありますか リポジトリ?この質問に答えるために、dnfの専用サブコマンドmoduleを実行できます。 、listを使用して、PHPモジュールに関する情報を尋ねます。 アクション:
$ sudo dnf module list php Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs) Name Stream Profiles Summary php 7.1 devel, minimal, default [d] PHP scripting language php 7.2 [d] devel, minimal, default [d] PHP scripting language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
dnf module listを実行する場合 コマンドでは、デフォルトで、使用可能なすべてのモジュールが表示されます。クエリを特定のモジュールのみに制限するために、コマンドにモジュール名を指定します。この場合、バージョン7.1をカバーする2つのストリームがPHPモジュールに存在することがわかります。 および7.2 言語と関連ライブラリの。ご覧のとおり、後者のバージョンはデフォルトでインストールされるバージョンです。上記で実行したコマンドの出力では、[d]を使用してこれを強調表示しています。 2番目の列にマークを付けます。これは、凡例で指定されているように、defaultを表します。 。
出力のもう1つの興味深い部分は、Profilesです。 列。ストリームで使用可能なプロファイルが報告されます。複数のプロファイルを同時にインストールでき、それぞれが異なるパッケージのセットを理解します。 [d] ここでは、ストリームのインストール時に選択されたデフォルトのプロファイルをマークするためにも表記が使用されます。
ソフトウェアモジュールの特定のストリームのパッケージをインストールするには、name:stream/profileを使用する必要があります 表記。たとえば、バージョン7.1をインストールするには PHPの場合、実行できます:
$ sudo dnf module install php:7.1/default
この場合、defaultなので、プロファイル名を省略できます。 別のものが指定されていない場合は自動的に使用されます。上記で実行したのと同じコマンドを使用すると、7.1であることがわかります。 ストリームは[e]でマークされています 、は有効を表し、default ストリームのプロファイルは[i]でマークされています 、これは、ストリームのプロファイルがインストールされていることを示します:
$ sudo dnf module list php Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs) Name Stream Profiles Summary php 7.1 [e] devel, minimal, default [d] [i] PHP scripting language php 7.2 [d] devel, minimal, default [d] PHP scripting language
ストリームがインストールされていて、使用可能な別のストリームに切り替えたい場合は、後者をインストールするだけです。状況に応じて、パッケージは自動的にアップグレードまたはダウングレードされます。 7.2に切り替えるには たとえば、ストリームを実行します:
$ sudo dnf module install php:7.2/default ======================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================= Upgrading: php-common x86_64 7.2.11-1.el8+2002+9409c40c rhel-8-for-x86_64-appstream-beta-rpms 653 k php-mbstring x86_64 7.2.11-1.el8+2002+9409c40c rhel-8-for-x86_64-appstream-beta-rpms 580 k php-xml x86_64 7.2.11-1.el8+2002+9409c40c rhel-8-for-x86_64-appstream-beta-rpms 188 k php-fpm x86_64 7.2.11-1.el8+2002+9409c40c rhel-8-for-x86_64-appstream-beta-rpms 1.6 M php-json x86_64 7.2.11-1.el8+2002+9409c40c rhel-8-for-x86_64-appstream-beta-rpms 73 k php-cli x86_64 7.2.11-1.el8+2002+9409c40c rhel-8-for-x86_64-appstream-beta-rpms 3.1 M Switching module streams: php 7.1 -> 7.2 Transaction Summary ======================================================================================================================================================= Upgrade 6 Packages Total download size: 6.2 M Is this ok [y/N]: y
同様に、特定のモジュールストリームを削除する場合は、removeを使用できます。 「インストール」アクションの代わりにアクション。これにより、ストリームが削除されます。プロファイルを指定すると、そのプロファイルに属するパッケージのみが削除されます。それ以外の場合、ストリームのすべてのプロファイルがアクションの対象になります。たとえば、7.2のすべてのプロファイルに属するすべてのパッケージをアンインストールするには ストリーム、単純に実行します:
$ sudo dnf module remove php:7.2
develに関連するパッケージのみを削除するには 代わりに、同じストリームのプロファイルを実行します:
$ sudo dnf module remove php:7.2/devel
結論
Red Hat Enterprise Linuxの新しいリリースでは、ソフトウェアの編成方法が変更されています。 BaseOs リポジトリには、ディストリビューションのコアを表すパッケージが含まれており、そのリリースサイクルであるAppStreamに従います。 代わりに、さまざまなバージョンを提供するモジュールに編成されたユーザースペースソフトウェア、つまりインストール可能な「ストリーム」が含まれています。PHPもこの方法で提供されます。
RHEL 8 /CentOS8で
デフォルトで使用可能なPHPのバージョンは7.1.20です。 および7.2.11 。 Remiなどの外部リポジトリから他のバージョンのプログラミング言語をインストールすることは可能ですが、他の方法で厳密に行う必要がない場合は、デフォルトのソフトウェアソースを使用することをお勧めします。