GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar php en RHEL 8 / CentOS 8 Linux

En los sistemas RHEL 8/CentOS 8 Linux, la forma en que se organiza el software ha cambiado:los paquetes críticos ahora están contenidos en BaseOs repositorio, mientras que el AppStream uno contiene múltiples versiones de algunas de las aplicaciones y lenguajes de programación más comunes que se organizan en módulos y se actualizan independientemente del ciclo de lanzamiento de la distribución. Esta estrategia se ha adoptado para evitar el problema de quedarse con una versión determinada, demasiado desactualizada o demasiado reciente de un determinado software.

En este tutorial aprenderás:

  • Cómo instalar PHP en RHEL 8 / CentOS 8
  • ¿Qué son los módulos de software en RHEL 8 / CentOS 8?
  • Cómo instalar y cambiar entre diferentes versiones del módulo PHP

Módulos php disponibles en RHEL 8

Requisitos de software y convenciones utilizadas

¿Qué es PHP?

PHP (PHP:Hypertext Preprocessor) no necesita muchas presentaciones:este lenguaje de programación de propósito general fue creado originalmente en 1994 por Rasmus Lerdorf y se publica bajo la licencia de PHP, como software de código abierto. Su principal campo de aplicación es la web, pero el lenguaje se puede utilizar en otros contextos. RHEL 8/CentOS 8 viene con dos repositorios principales habilitados:BaseOs y AppStream .

El primero contiene los paquetes básicos
de la distribución que sigue el ciclo de vida de las propias distribuciones; el segundo contiene diferentes versiones de varias aplicaciones de espacio de usuario, que se actualizan independientemente de la distribución principal. El software contenido en este último está organizado en modules . Cada módulo proporciona diferentes versiones de una aplicación, lo que permite cambiar entre las disponibles (pero no instalarlas simultáneamente). En este tutorial veremos lo fácil que es instalar PHP y cambiar entre diferentes versiones de este lenguaje en las distribuciones RHEL 8 / CentOS 8.

¿Qué versión de PHP?

Si bien la versión 5.6 de PHP ahora está oficialmente muerta (llegó a EOL el 1 de enero de 2019), actualmente se mantienen tres ramas del lenguaje de programación:7.1 , que en realidad solo recibe correcciones de seguridad y se parcheará hasta el 1 de diciembre de 2019, y las versiones 7.2 y 7.3 , que serán compatibles respectivamente hasta el 30 de noviembre de 2020 y el 6 de diciembre de 2021.

La versión de PHP suministrada por defecto en RHEL 8 / CentOS 8, desde AppStream el repositorio es 7.2.11 , como podemos verificar ejecutando el dnf info php comando, que devuelve el siguiente resultado:

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.

¿Hay otras versiones de PHP disponibles en AppStream? ¿repositorio?. Para responder a esta pregunta podemos ejecutar un subcomando dedicado de dnf, module , y solicite información sobre el módulo PHP, utilizando la list acción:

$ 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

Al ejecutar la dnf module list comando, por defecto, se muestran todos los módulos disponibles. Para restringir la consulta a solo un módulo específico, proporcionamos el nombre del módulo al comando. En este caso, podemos ver que existen dos flujos para el módulo PHP, que cubren las versiones 7.1 y 7.2 de la lengua y bibliotecas relacionadas. Como vimos, la última versión es la que se instala de forma predeterminada:en la salida del comando que ejecutamos arriba, esto se resalta mediante el uso de [d] marca en la segunda columna, que, como se especifica en la leyenda, significa default .

Otra parte interesante de la salida son los Profiles columna, donde se informan los perfiles disponibles para un flujo. Se pueden instalar múltiples perfiles simultáneamente y cada uno de ellos comprende un conjunto diferente de paquetes. El [d] La notación también se usa aquí para marcar el perfil predeterminado seleccionado al instalar la transmisión.

Para instalar el paquete de un flujo específico de un módulo de software, debemos usar el name:stream/profile notación. Por ejemplo, para instalar la versión 7.1 de PHP, podemos ejecutar:

$ sudo dnf module install php:7.1/default

En este caso podríamos haber omitido el nombre del perfil, ya que default se utiliza automáticamente si no se especifica otro. Si usamos el mismo comando que ejecutamos arriba, ahora podemos ver que el 7.1 la transmisión está marcada con [e] , que significa habilitado, y el default el perfil de la transmisión está marcado con [i] , lo que indica que el perfil de la transmisión está instalado:

$ 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

Si tenemos un stream instalado y queremos cambiar a otro de los disponibles, simplemente podemos instalar este último:los paquetes se actualizarán o degradarán automáticamente, según la situación. Para cambiar a 7.2 corriente, por ejemplo, ejecutaríamos:

$ 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

De manera similar, si queremos eliminar un flujo de módulo específico, podemos usar remove acción en lugar de la de "instalar". Esto hace que se elimine un flujo:si especificamos un perfil, solo se eliminan los paquetes que pertenecen a ese perfil, de lo contrario, todos los perfiles de un flujo están interesados ​​​​en la acción. Por ejemplo, para desinstalar todos los paquetes pertenecientes a todos los perfiles del 7.2 stream, simplemente ejecutaríamos:

$ sudo dnf module remove php:7.2

Para eliminar solo los paquetes relacionados con el devel perfil de la misma transmisión, en su lugar, ejecutaríamos:

$ sudo dnf module remove php:7.2/devel

Conclusiones

La nueva versión de Red Hat Enterprise Linux viene con un cambio en la forma en que se organiza el software. Los BaseOs El repositorio contiene los paquetes que representan el núcleo de las distribuciones y siguen su ciclo de lanzamiento, el AppStream uno en cambio, contiene software de espacio de usuario organizado en módulos que brindan diferentes versiones, o "flujos" disponibles para ser instalados:PHP también se proporciona de esta manera.

Las versiones de PHP disponibles por
predeterminadas en RHEL 8 / CentOS 8 son 7.1.20 y 7.2.11 . Es posible instalar otras versiones del lenguaje de programación desde repositorios externos, como Remi, pero recomiendo seguir con las fuentes de software predeterminadas si no es estrictamente necesario hacer lo contrario.


Cent OS
  1. Cómo instalar PHP 7.4/7.3/7.2 en CentOS 7/RHEL 7 y CentOS 6/RHEL 6

  2. Cómo instalar PHP 7.4/7.3 en CentOS 8/RHEL 8

  3. Cómo instalar PHP 7.3, 7.2, 7.1 en CentOS/RHEL 6.10

  4. Cómo instalar PHP 8 en CentOS 8 Linux

  5. Cómo instalar PHP 5.5 en CentOS

Cómo instalar WordPress en RHEL 8 / CentOS 8 Linux

Cómo instalar GIMP en CentOS 8 / RHEL 8 Linux

Cómo instalar PHP 7.4 en CentOS 8 / RHEL 8

Cómo instalar PHP 8 en CentOS 8 / RHEL 8

Cómo instalar PHP 7 en CentOS 7

Cómo instalar PHP 7.4 en CentOS 8 | RHEL 8

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software No se necesita software adicional para seguir este tutorial
    Otro Permiso para ejecutar el comando con privilegios de root.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios