Debian 9 se envía con la versión 7.0 de PHP que pronto llegará al final de su vida útil para soporte y ya no recibirá actualizaciones de seguridad.
En este tutorial, lo guiaremos a través de los pasos para instalar PHP 7.2 en un servidor Debian 9. También le mostraremos cómo configurar Apache y Nginx para ejecutar PHP.
Requisitos previos #
Antes de comenzar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instalando PHP 7.2 en Debian 9 #
Los siguientes pasos describen cómo instalar PHP 7.2 usando el repositorio de Ondrej Sury.
-
Primero, actualice el
apt
lista de paquetes e instale las dependencias necesarias para agregar un nuevo repositorio a través de HTTPS:sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
-
Comience importando la clave GPG del repositorio usando el siguiente comando curl:
curl -fsSL https://packages.sury.org/php/apt.gpg | sudo apt-key add -
Agregue el repositorio de ondrej a la lista de repositorios de software de su sistema escribiendo:
sudo add-apt-repository "deb https://packages.sury.org/php/ $(lsb_release -cs) main"
-
Ahora que tenemos habilitado el repositorio de ondrej en nuestro sistema, podemos instalar PHP especificando la versión que queremos usar:
sudo apt update
sudo apt install php7.2-common php7.2-cli
-
Verifique la instalación ejecutando el siguiente comando que imprimirá la versión de PHP.
php -v
PHP 7.2.8-1+0~20180725124257.2+stretch~1.gbp571e56 (cli) (built: Jul 25 2018 12:43:00) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.8-1+0~20180725124257.2+stretch~1.gbp571e56, Copyright (c) 1999-2018, by Zend Technologies
Configurar Apache para ejecutar PHP #
Si está utilizando Apache como su servidor web para instalar PHP y el módulo Apache PHP, ejecute el siguiente comando:
sudo apt install php7.2 libapache2-mod-php
Una vez que los paquetes estén instalados para habilitar el módulo php7.2, simplemente reinicie el servicio Apache:
sudo systemctl restart apache2
Configurar Nginx para ejecutar PHP #
A diferencia de Apache, Nginx no tiene un soporte incorporado para procesar archivos PHP, por lo que necesitamos instalar una aplicación separada como PHP FPM ("administrador de procesos fastCGI") que manejará archivos PHP.
Para instalar los paquetes PHP y PHP FPM ejecute el siguiente comando:
sudo apt install php7.2-fpm
Una vez que los paquetes estén instalados, el servicio PHP FPM se iniciará automáticamente. Puede consultar el estado del servicio con:
systemctl status php7.2-fpm
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-08-30 21:06:53 UTC; 1min 4s ago
Docs: man:php-fpm7.2(8)
Main PID: 16791 (php-fpm7.2)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
CGroup: /system.slice/php7.2-fpm.service
├─16791 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
├─16792 php-fpm: pool www
└─16793 php-fpm: pool www
Ahora puede editar el bloque del servidor Nginx de su dominio 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/php7.2-fpm.sock;
}
}
Reinicie los servicios de Nginx para que la nueva configuración surta efecto:
sudo systemctl restart nginx
Instalando extensiones de PHP #
Podemos ampliar la funcionalidad principal de PHP instalando extensiones adicionales. Las extensiones de PHP están disponibles como paquetes y se pueden instalar fácilmente con:
sudo apt install php-[extname]
Por ejemplo, si desea instalar las extensiones PHP MySQL y GD, debe ejecutar el siguiente comando:
sudo apt install php7.2-mysql php7.2-gd
Después de instalar una nueva extensión de PHP, no olvide reiniciar Apache o el servicio PHP FPM, según su configuración.
Probando procesamiento PHP #
Para probar si su servidor web está configurado correctamente para el procesamiento de PHP, cree un nuevo archivo llamado info.php dentro de /var/www/html
directorio con el siguiente código:
<?php
phpinfo();
Guarde el archivo, abra el navegador de su elección y visite http://your_server_ip/info.php
El phpinfo
La función imprimirá información sobre su configuración de PHP como se muestra en la imagen a continuación: