GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie PHP unter RHEL 8 / CentOS 8 Linux

In den Linux-Systemen RHEL 8 / CentOS 8 hat sich die Art und Weise geändert, wie Software organisiert ist:Kritische Pakete sind jetzt in den BaseOs enthalten Repository, während der AppStream one enthält mehrere Versionen einiger der am häufigsten verwendeten Anwendungen und Programmiersprachen, die in Modulen organisiert sind und unabhängig vom Release-Zyklus der Distribution aktualisiert werden. Diese Strategie wurde eingeführt, um das Problem zu vermeiden, an einer bestimmten, zu veralteten oder zu neuen Version einer bestimmten Software hängen zu bleiben.

In diesem Tutorial lernen Sie:

  • So installieren Sie PHP auf RHEL 8 / CentOS 8
  • Was sind Softwaremodule in RHEL 8 / CentOS 8
  • Wie man verschiedene Versionen des PHP-Moduls installiert und zwischen ihnen wechselt

Verfügbare PHP-Module auf RHEL 8

Softwareanforderungen und verwendete Konventionen

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System RHEL 8 / CentOS 8
Software Für dieses Tutorial ist keine zusätzliche Software erforderlich
Andere Berechtigung zum Ausführen des Befehls mit Root-Rechten.
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Was ist PHP?

PHP (PHP:Hypertext Preprocessor) braucht nicht viele Präsentationen:Diese universelle Programmiersprache wurde ursprünglich 1994 von Rasmus Lerdorf entwickelt und wird unter der PHP-Lizenz als Open-Source-Software veröffentlicht. Ihr Hauptanwendungsgebiet ist das Web, aber die Sprache kann auch in anderen Kontexten verwendet werden. RHEL 8 / CentOS 8 verfügt über zwei aktivierte Haupt-Repositories:BaseOs und AppStream .

Das erste enthält die Kernpakete
der Distribution, die dem Lebenszyklus der Distributionen selbst folgen; die zweite enthält verschiedene Versionen mehrerer Userspace-Anwendungen, die unabhängig von der Hauptdistribution aktualisiert werden. Die darin enthaltene Software ist in modules organisiert . Jedes Modul bietet verschiedene Versionen einer Anwendung, die es ermöglichen, zwischen den verfügbaren Versionen zu wechseln (aber nicht, sie gleichzeitig zu installieren). In diesem Tutorial werden wir sehen, wie einfach es ist, PHP zu installieren und zwischen verschiedenen Versionen dieser Sprache auf den RHEL 8 / CentOS 8-Distributionen zu wechseln.

Welche PHP-Version?

Während die Version 5.6 von PHP nun offiziell tot ist (sie erreichte EOL am 1. Januar 2019), werden derzeit drei Zweige der Programmiersprache gepflegt:7.1 , das eigentlich nur Sicherheitsfixes erhält und bis zum 1. Dezember 2019 gepatcht wird, und Versionen 7.2 und 7.3 , die jeweils bis zum 30. November 2020 und bis zum 6. Dezember 2021 unterstützt werden.

Die in RHEL 8 / CentOS 8 standardmäßig bereitgestellte PHP-Version aus dem AppStream Repository ist 7.2.11 , wie wir durch Ausführen von dnf info php überprüfen können Befehl, der die folgende Ausgabe zurückgibt:

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.

Gibt es andere PHP-Versionen, die im AppStream verfügbar sind Repository?. Um diese Frage zu beantworten, können wir einen speziellen Unterbefehl von dnf, module, ausführen , und fragen Sie Informationen über das PHP-Modul ab, indem Sie die list verwenden Aktion:

$ 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

Beim Ausführen der dnf module list Befehl werden standardmäßig alle verfügbaren Module angezeigt. Um die Abfrage nur auf ein bestimmtes Modul zu beschränken, geben wir den Modulnamen an den Befehl an. In diesem Fall können wir sehen, dass zwei Streams für das PHP-Modul existieren, die die Versionen 7.1 abdecken und 7.2 der Sprache und verwandte Bibliotheken. Wie wir gesehen haben, wird die letztere Version standardmäßig installiert:In der Ausgabe des Befehls, den wir oben ausführen, wird dies durch die Verwendung von [d] hervorgehoben Markierung in der zweiten Spalte, die, wie in der Legende angegeben, für default steht .

Ein weiterer interessanter Teil der Ausgabe sind die Profiles Spalte, in der die verfügbaren Profile für einen Stream gemeldet werden. Mehrere Profile können gleichzeitig installiert werden und jedes von ihnen umfasst einen anderen Satz von Paketen. Der [d] Notation wird auch hier verwendet, um das bei der Installation des Streams ausgewählte Standardprofil zu markieren.

Um das Paket eines bestimmten Streams eines Softwaremoduls zu installieren, müssen wir den name:stream/profile verwenden Notation. Zum Beispiel, um die Version 7.1 zu installieren von PHP können wir Folgendes ausführen:

$ sudo dnf module install php:7.1/default

In diesem Fall hätten wir den Profilnamen weglassen können, da default wird automatisch verwendet, wenn kein anderer angegeben ist. Wenn wir denselben Befehl verwenden, den wir oben ausgeführt haben, können wir jetzt sehen, dass 7.1 Stream ist mit [e] gekennzeichnet , was für aktiviert steht, und default Profil des Streams ist mit [i] gekennzeichnet , was anzeigt, dass das Profil des Streams installiert ist:

$ 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

Wenn wir einen Stream installiert haben und zu einem anderen der verfügbaren wechseln möchten, können wir diesen einfach installieren:Die Pakete werden je nach Situation automatisch aktualisiert oder heruntergestuft. Um zu 7.2 zu wechseln streamen würden wir beispielsweise ausführen:

$ 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

Wenn wir einen bestimmten Modul-Stream entfernen möchten, können wir auf ähnliche Weise den remove verwenden Aktion statt "Installieren". Dadurch wird ein Stream entfernt:Wenn wir ein Profil angeben, werden nur die Pakete entfernt, die zu diesem Profil gehören, ansonsten sind alle Profile eines Streams an der Aktion interessiert. Zum Beispiel, um alle Pakete zu deinstallieren, die zu allen Profilen von 7.2 gehören stream, würden wir einfach ausführen:

$ sudo dnf module remove php:7.2

Um nur die Pakete zu entfernen, die sich auf devel beziehen Profil desselben Streams, stattdessen würden wir Folgendes ausführen:

$ sudo dnf module remove php:7.2/devel

Schlussfolgerungen

Die neue Version von Red Hat Enterprise Linux bringt eine Änderung in der Art und Weise mit sich, wie Software organisiert ist. Die BaseOs Das Repository enthält die Pakete, die den Kern der Distributionen darstellen, und folgt seinem Veröffentlichungszyklus, dem AppStream one enthält stattdessen Userspace-Software, die in Modulen organisiert ist und verschiedene Versionen oder "Streams" zur Verfügung stellt, die installiert werden können:PHP wird auch auf diese Weise bereitgestellt.

Die in RHEL 8 / CentOS 8 standardmäßig
verfügbaren PHP-Versionen sind 7.1.20 und 7.2.11 . Es ist möglich, andere Versionen der Programmiersprache aus externen Repositories wie Remi zu installieren, aber ich empfehle, bei den Standard-Softwarequellen zu bleiben, wenn dies nicht unbedingt erforderlich ist.


Cent OS
  1. So installieren Sie PHP 7.4 / 7.3 / 7.2 unter CentOS 7 / RHEL 7 und CentOS 6 / RHEL 6

  2. So installieren Sie PHP 7.4 / 7.3 auf CentOS 8 / RHEL 8

  3. So installieren Sie PHP 7.3, 7.2, 7.1 unter CentOS/RHEL 6.10

  4. So installieren Sie PHP 8 unter CentOS 8 Linux

  5. So installieren Sie PHP 5.5 auf CentOS

So installieren Sie WordPress unter RHEL 8 / CentOS 8 Linux

So installieren Sie GIMP unter CentOS 8 / RHEL 8 Linux

So installieren Sie PHP 7.4 unter CentOS 8 / RHEL 8

So installieren Sie PHP 8 unter CentOS 8 / RHEL 8

So installieren Sie PHP 7 unter CentOS 7

So installieren Sie PHP 7.4 unter CentOS 8 | RHEL8