PHP es uno de los lenguajes de programación del lado del servidor más utilizados. Muchos CMS y frameworks populares como WordPress, Magento y Laravel están escritos en PHP.
PHP 8.0 es la última versión principal del lenguaje PHP. Presenta varios cambios importantes, mejoras de rendimiento y muchas características nuevas, como argumentos con nombre, compilador JIT, tipos de unión, expresión de coincidencia y más.
Este artículo le mostrará cómo instalar PHP 8 en Ubuntu 20.04 e integrarlo con Nginx y Apache.
En el momento de escribir este artículo, los repositorios predeterminados de Ubuntu 20.04 incluyen la versión PHP 7.4. Instalaremos PHP desde el repositorio ondrej/phpPPA.
Antes de actualizar o instalar PHP 8, asegúrese de que sus aplicaciones lo admitan.
Se aplican los mismos pasos para Ubuntu 18.04 y todas las distribuciones basadas en Ubuntu, incluidas Kubuntu, Linux Mint y Elementary OS.
Habilitación del repositorio PHP #
Ondřej Surý, un desarrollador de Debian, mantiene un repositorio que incluye varias versiones de PHP. Para habilitar el repositorio, ejecute:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Una vez que el PPA esté habilitado, puede instalar PHP 8.
Instalando PHP 8.0 con Apache #
Si utiliza Apache como servidor web, puede ejecutar PHP como un módulo de Apache o PHP-FPM.
Instalar PHP como Módulo Apache #
Instalar PHP como un módulo de Apache es una tarea sencilla:
sudo apt update
sudo apt install php8.0 libapache2-mod-php8.0
Una vez que los paquetes estén instalados, reinicie Apache para que se cargue el módulo PHP:
sudo systemctl restart apache2
Configurar Apache con PHP-FPM #
Php-FPM es un administrador de procesos FastCGI para PHP. Ejecute el siguiente comando para instalar los paquetes necesarios:
sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid
Por defecto, PHP-FPM no está habilitado en Apache. Para habilitarlo, ejecute:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm
Para activar los cambios, reinicie Apache:
systemctl restart apache2
Instalando PHP 8.0 con Nginx #
Nginx no tiene soporte incorporado para procesar archivos PHP. Usaremos PHP-FPM ("administrador de procesos fastCGI") para manejar los archivos PHP.
Ejecute los siguientes comandos para instalar los paquetes PHP y PHP FPM:
sudo apt update
sudo apt install php8.0-fpm
Una vez completada la instalación, el servicio FPM se iniciará automáticamente. Para comprobar el estado del servicio, ejecute
systemctl status php8.0-fpm
● php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-12-03 16:10:47 UTC; 6s ago
Ahora puede editar el bloque del servidor Nginx y agregar las siguientes líneas para que Nginx pueda procesar archivos PHP:
server {
# . . . other code
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
}
No olvides reiniciar los servicios de Nginx para que la nueva configuración surta efecto:
sudo systemctl restart nginx
Instalando extensiones de PHP #
Las extensiones de PHP son bibliotecas compiladas que amplían la funcionalidad principal de PHP. Las extensiones están disponibles como paquetes y se pueden instalar fácilmente con apt
:
sudo apt install php8.0-[extname]
Por ejemplo, para instalar extensiones MySQL y GD, ejecutaría el siguiente comando:
sudo apt install php8.0-mysql php8.0-gd
Después de instalar una nueva extensión de PHP, no olvide reiniciar el servicio Apache o PHP FPM, según su configuración.
Probando procesamiento PHP #
Para probar si el servidor web está configurado correctamente para el procesamiento de PHP, cree un nuevo archivo llamado info.php
dentro del /var/www/html
directorio con el siguiente código:
<?php
phpinfo();
Guarde el archivo, abra su navegador y visite:http://your_server_ip/info.php
.
Verá información sobre su configuración de PHP similar a la siguiente: