GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare php su RHEL 8 / CentOS 8 Linux

Nei sistemi Linux RHEL 8 / CentOS 8, il modo in cui è organizzato il software è cambiato:i pacchetti critici sono ora contenuti in BaseOs repository, mentre AppStream uno contiene più versioni di alcune delle applicazioni e dei linguaggi di programmazione più comuni utilizzati che sono organizzati in moduli e aggiornati indipendentemente dal ciclo di rilascio della distribuzione. Questa strategia è stata adottata per evitare il problema di rimanere bloccati con una certa versione, troppo obsoleta o troppo recente di un determinato software.

In questo tutorial imparerai:

  • Come installare PHP su RHEL 8 / CentOS 8
  • Cosa sono i moduli software in RHEL 8 / CentOS 8
  • Come installare e passare da una versione all'altra del modulo PHP

Moduli php disponibili su RHEL 8

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema RHEL 8 / CentOS 8
Software Non è necessario alcun software aggiuntivo per seguire questo tutorial
Altro Autorizzazione a eseguire il comando con privilegi di root.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Cos'è PHP?

PHP (PHP:Hypertext Preprocessor) non ha bisogno di molte presentazioni:questo linguaggio di programmazione generico è stato originariamente creato nel 1994 da Rasmus Lerdorf ed è rilasciato sotto licenza PHP, come software open source. Il suo principale campo di applicazione è il web, ma il linguaggio può essere utilizzato in altri contesti. RHEL 8 / CentOS 8 viene fornito con due repository principali abilitati:BaseOs e AppStream .

Il primo contiene i pacchetti
core della distribuzione che segue il ciclo di vita delle distribuzioni stesse; il secondo contiene diverse versioni di diverse applicazioni userspace, che vengono aggiornate indipendentemente dalla distribuzione principale. Il software contenuto in quest'ultimo è organizzato in modules . Ogni modulo fornisce diverse versioni di un'applicazione che consente di passare da quelle disponibili (ma non di installarle contemporaneamente). In questo tutorial vedremo com'è facile installare PHP e passare da una versione all'altra di questo linguaggio sulle distribuzioni RHEL 8 / CentOS 8.

Quale versione di PHP?

Mentre la versione 5.6 di PHP è ora ufficialmente morta (ha raggiunto EOL il 1 gennaio 2019), sono attualmente mantenuti tre rami del linguaggio di programmazione:7.1 , che in realtà riceve solo correzioni di sicurezza e sarà aggiornato fino al 1° dicembre 2019, e versioni 7.2 e 7.3 , che saranno supportati rispettivamente fino al 30 novembre 2020 e al 6 dicembre 2021.

La versione di PHP fornita per impostazione predefinita in RHEL 8 / CentOS 8, da AppStream il repository è 7.2.11 , come possiamo verificare eseguendo dnf info php comando, che restituisce il seguente output:

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.

Sono disponibili altre versioni di PHP in AppStream deposito?. Per rispondere a questa domanda possiamo eseguire un sottocomando dedicato di dnf, module e chiedere informazioni sul modulo PHP, utilizzando l'list azione:

$ 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

Quando si esegue l'dnf module list comando, per impostazione predefinita, vengono visualizzati tutti i moduli disponibili. Per limitare la query a un solo modulo specifico, forniamo il nome del modulo al comando. In questo caso possiamo vedere che esistono due flussi per il modulo PHP, che coprono le versioni 7.1 e 7.2 della lingua e delle relative biblioteche. Come abbiamo visto, quest'ultima versione è quella che viene installata di default:nell'output del comando che eseguiamo sopra questo è evidenziato dall'uso del [d] segno nella seconda colonna, che, come specificato nella legenda, sta per default .

Un'altra parte interessante dell'output sono i Profiles colonna, in cui sono riportati i profili disponibili per un flusso. È possibile installare più profili contemporaneamente e ognuno di essi comprende un diverso insieme di pacchetti. Il [d] la notazione viene utilizzata anche qui per contrassegnare il profilo predefinito selezionato durante l'installazione dello stream.

Per installare il pacchetto di un flusso specifico di un modulo software dobbiamo usare il name:stream/profile notazione. Ad esempio, per installare la versione 7.1 di PHP, possiamo eseguire:

$ sudo dnf module install php:7.1/default

In questo caso avremmo potuto omettere il nome del profilo, poiché default viene utilizzato automaticamente se non ne viene specificato un altro. Se utilizziamo lo stesso comando che abbiamo eseguito sopra, ora possiamo vedere che il 7.1 lo stream è contrassegnato da [e] , che sta per abilitato, e il default il profilo dello stream è contrassegnato da [i] , che indica che il profilo del flusso è installato:

$ 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

Se abbiamo uno stream installato e vogliamo passare a un altro di quelli disponibili, possiamo semplicemente installare quest'ultimo:i pacchetti verranno aggiornati o declassati automaticamente, a seconda della situazione. Per passare al 7.2 stream, ad esempio, eseguiremmo:

$ 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

Allo stesso modo, se vogliamo rimuovere un flusso di moduli specifico, possiamo usare remove azione invece di quella “installa”. Questo provoca la rimozione di un flusso:se specifichiamo un profilo, vengono rimossi solo i pacchetti appartenenti a quel profilo, altrimenti tutti i profili di un flusso sono interessati dall'azione. Ad esempio, per disinstallare tutti i pacchetti appartenenti a tutti i profili del 7.2 stream, eseguiremmo semplicemente:

$ sudo dnf module remove php:7.2

Per rimuovere solo i pacchetti relativi a devel profilo dello stesso stream, invece, eseguiremmo:

$ sudo dnf module remove php:7.2/devel

Conclusioni

La nuova versione di Red Hat Enterprise Linux, arriva con un cambiamento nel modo in cui il software è organizzato. I BaseOs repository contiene i pacchetti che rappresentano il nucleo delle distribuzioni e seguono il suo ciclo di rilascio, AppStream uno invece, contiene software userspace organizzato in moduli che forniscono diverse versioni, o “stream” disponibili per essere installati:anche PHP è fornito in questo modo.

Le versioni di PHP disponibili per
default in RHEL 8 / CentOS 8 sono 7.1.20 e 7.2.11 . È possibile installare altre versioni del linguaggio di programmazione da repository esterni, come Remi, ma consiglio di attenersi ai sorgenti software predefiniti se non è strettamente necessario fare altrimenti.


Cent OS
  1. Come installare PHP 7.4/7.3/7.2 su CentOS 7/RHEL 7 e CentOS 6/RHEL 6

  2. Come installare PHP 7.4 / 7.3 su CentOS 8 / RHEL 8

  3. Come installare PHP 7.3, 7.2, 7.1 su CentOS/RHEL 6.10

  4. Come installare PHP 8 su CentOS 8 Linux

  5. Come installare PHP 5.5 su CentOS

Come installare WordPress su RHEL 8 / CentOS 8 Linux

Come installare GIMP su CentOS 8 / RHEL 8 Linux

Come installare PHP 7.4 su CentOS 8 / RHEL 8

Come installare PHP 8 su CentOS 8 / RHEL 8

Come installare PHP 7 su CentOS 7

Come installare PHP 7.4 su CentOS 8 | RHEL 8