Aunque PHP puede ser instalado desde el código fuente, también está disponible a través de paquetes en sistemas que usan DNF, como Red Hat Enterprise Linux OpenSUSE, Fedora, CentOS, Rocky Linux y Oracle Enterprise Linux.
Builds from third-parties are considered unofficial and not directly supported by the PHP project. Any bugs encountered should be reported to the provider of those unofficial builds unless they can be reproduced using the builds from » the official download area.
Los paquetes pueden instalarse mediante el comando dnf.
Para empezar, es importante señalar que se pueden desear otros paquetes vinculados,
como php-pear
para » PEAR,
o php-mysqlnd
para la extensión
MySQL.
Entonces, antes de instalar un paquete, conviene asegurarse de que la lista de paquetes está actualizada. Normalmente, esto se hace ejecutando el comando dnf update.
Ejemplo #1 Ejemplo de instalación DNF
# dnf install php php-common
DNF instalará automáticamente la configuración de PHP para el servidor web, pero puede ser necesario reiniciarlo para que los cambios surtan efecto. Por ejemplo :
Ejemplo #2 Reiniciar Apache una vez instalado PHP
# sudo systemctl restart httpd
En la última sección, PHP ha sido instalado sólo con los módulos básicos. Es muy probable que se requieran módulos adicionales, tales como MySQL, cURL, GD, etc. También se pueden instalar mediante la función dnf.
Ejemplo #3 Métodos para listar paquetes PHP adicionales
# dnf search php
La lista de paquetes incluirá un gran número de paquetes incluyendo
componentes básicos de PHP, como php-cli
,
php-fpm
y php-devel
, así como
numerosas extensiones de PHP. Cuando se instalan extensiones, los paquetes adicionales
se instalarán automáticamente si es necesario para satisfacer
las dependencias de estos paquetes.
Ejemplo #4 Instalación de PHP con MySQL, GD
# dnf install php-mysqlnd php-gd
DNF añadirá automáticamente las líneas apropiadas a los distintos archivos
vinculados a php.ini, como /etc/php/8.3/php.ini,
/etc/php/8.3/conf.d/*.ini, etc. y dependiendo de
la extensión añadirá entradas similares a extension=foo.so
.
Sin embargo, es necesario reiniciar el servidor web (como Apache) para que estos cambios surtan efecto.