Cómo instalar PHP en Rhel 8 / Centos 8 Linux

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 el Base repositorio, mientras 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 distribución. Esta estrategia se ha adoptado para evitar el problema de estar atascado con una liberación cierta, demasiado anticuada o demasiado reciente de cierto software.

En este tutorial aprenderás:

  • Cómo instalar PHP en Rhel 8 / Centos 8
  • ¿Cuáles 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 y convenciones de software utilizados

Requisitos de software y convenciones de 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 raíz.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Que es php?

PHP (PHP: preprocesador de hipertexto) no necesita muchas presentaciones: este lenguaje de programación de uso general fue creado originalmente en 1994 por Rasmus Lerdorf y se lanza bajo la licencia PHP, como software de código abierto, como software de código abierto. Su campo principal de aplicación es la web, pero el idioma se puede usar en otros contextos. RHEL 8 / CentOS 8 viene con dos repositorios principales habilitados: Base y Appstream.

El primero contiene el núcleo
Paquetes de la distribución que sigue el ciclo de vida de las distribuciones en sí; El segundo contiene diferentes versiones de varias aplicaciones del espacio de usuario, que se actualizan independientemente de la distribución principal. El software contenido en este último está organizado en módulos. Cada módulo proporciona diferentes versiones de una aplicación que hace posible cambiar entre las disponibles (pero no instalarlas simultáneamente). En este tutorial, veremos cuán fácil es instalar PHP y cambiar entre diferentes versiones de este idioma en las distribuciones Rhel 8 / Centos 8.

Que versión de PHP?

Mientras que los 5.6 La versión 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 recibe solo soluciones de seguridad y será parcheado hasta el 1 de diciembre de 2019, y versiones 7.2 y 7.3, que será compatible 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, de la Appstream El repositorio es 7.2.11, Como podemos verificar ejecutando el DNF Info PHP Comando, que devuelve la siguiente salida:

Paquetes disponibles Nombre: Php Versión: 7.2.11 Lanzamiento: 1.EL8+2002+9409C40C Arch: x86_64 Tamaño: 1.5 m Fuente: PHP-7.2.11-1-1.EL8+2002+9409C40C.SRC.RPM Repo: RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS Resumen: Lenguaje de secuencia de comandos PHP para crear sitios web dinámicos URL: http: // www.php.NET/ Licencia: PHP y Zend y BSD y MIT y ASL 1.0 Descripción: PHP es un lenguaje de secuencias de comandos Embeded HTML. PHP intenta hacerlo: fácil para los desarrolladores escribir páginas web generadas dinámicamente. PHP también: ofrece integración de bases de datos incorporada para varios sistemas comerciales y no comerciales de gestión de bases de datos, por lo que escribir A: la página web habilitada para la base de datos con PHP es bastante simple. Lo más común: el uso de la codificación de PHP probablemente sea como reemplazo para los scripts CGI. :: El paquete PHP contiene el módulo (a menudo denominado MOD_PHP): que agrega soporte para el idioma PHP al servidor Apache HTTP. 

¿Hay otras versiones de PHP disponibles en el Appstream repositorio?. Para responder a esta pregunta, podemos ejecutar un subcomando dedicado de DNF, módulo, y pregunte información sobre el módulo PHP, utilizando el lista acción:

$ sudo DNF Lista de módulos PHP Red Hat Enterprise Linux 8 para x86_64 - AppStream Beta (RPMS) Nombre de transmisión Resumen de perfiles PHP 7.1 Desarrollo, mínimo, predeterminado [D] PHP Language de secuencia de comandos PHP 7.2 [D] Desarrollo, Mínimo, predeterminado [D] Php Language de secuencia 

Al ejecutar el Lista de módulos DNF El 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 transmisiones para el módulo PHP, que cubre versiones 7.1 y 7.2 del idioma y las 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 del [d] Mark en la segunda columna, que, como se especifica en la leyenda, representa por defecto.

Otra parte interesante de la salida es la Perfiles columna, donde se informan los perfiles disponibles para una transmisión. 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 una secuencia específica de un módulo de software, debemos usar el Nombre: transmisión/perfil notación. Por ejemplo, para instalar la versión 7.1 de PHP, podemos ejecutar:

$ sudo dnf módulo instalación php: 7.1/predeterminado


En este caso podríamos haber omitido el nombre del perfil, ya que por defecto se usa 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 [mi], que significa habilitado y el por defecto El perfil de la transmisión está marcado con [i], lo que indica que está instalado el perfil de la transmisión:

$ sudo DNF Lista de módulos PHP Red Hat Enterprise Linux 8 para x86_64 - AppStream Beta (RPMS) Nombre de transmisión Resumen de perfiles PHP 7.1 [E] Desarrollo, Mínimo, predeterminado [D] [i] Php Lenguaje de secuencias de comandos PhP 7.2 [D] Desvel, Mínimo, Lenguaje de secuencia de comandos PHP predeterminado [D] PHP 

Si tenemos una transmisión instalada y queremos cambiar a otro de los disponibles, simplemente podemos instalar este último: los paquetes se actualizarán o se degradará automáticamente, dependiendo de la situación. Para cambiar a la 7.2 Stream, por ejemplo, ejecutaríamos:

$ sudo dnf módulo instalación php: 7.2/predeterminado ================================================ ==================================================== ==================================================== ==== Package Arch Version Size =========================================== ==================================================== ==================================================== ========== Actualización: PHP-Common x86_64 7.2.11-1-1.EL8+2002+9409C40C RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS 653 K PhP-MBString x86_64 7.2.11-1-1.EL8+2002+9409C40C RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS 580 K PHP-XML X86_64 7.2.11-1-1.EL8+2002+9409C40C RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS 188 K PHP-FPM X86_64 7 7.2.11-1-1.EL8+2002+9409C40C RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS 1.6 m php-json x86_64 7.2.11-1-1.EL8+2002+9409C40C RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS 73 K PHP-CLI X86_64 7.2.11-1-1.EL8+2002+9409C40C RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS 3.1 m de secuencias de módulos de conmutación: PHP 7.1 -> 7.2 Resumen de la transacción ================================================= ==================================================== ==================================================== ==== Actualización 6 paquetes Tamaño de descarga total: 6.2 m es esto ok [y/n]: y 

Del mismo modo, si queremos eliminar una secuencia de módulo específica, podemos usar el eliminar acción en lugar del "instalar" uno. Esto hace que se elimine una transmisión: si especificamos un perfil, solo se eliminan los paquetes que pertenecen a ese perfil, de lo contrario, todos los perfiles de una transmisión están interesados ​​por la acción. Por ejemplo, desinstalar todos los paquetes que pertenecen a todos los perfiles del 7.2 Transmitir, simplemente ejecutaríamos:



$ sudo dnf módulo eliminar php: 7.2

Para eliminar solo los paquetes relacionados con el desalentar Perfil de la misma transmisión, en cambio, ejecutaríamos:

$ sudo dnf módulo eliminar php: 7.2/Desarrollar

Conclusiones

El nuevo lanzamiento de Red Hat Enterprise Linux, viene con un cambio en la forma en que se organiza el software. El Base El repositorio contiene los paquetes que representan el núcleo de las distribuciones y siguen su ciclo de liberación, el Appstream En su lugar, contiene un software de espacio de usuario organizado en módulos que proporcionan diferentes versiones, o "transmisiones" disponibles para instalarse: PHP también se proporciona de esta manera.

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

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Linux Apache no ejecuta archivos PHP: solución
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Cosas para instalar en Ubuntu 22.04
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cómo instalar PHP en Ubuntu Linux
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Descarga de Linux
  • Archivos de configuración de Linux: los 30 principales más importantes
  • ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..