Cómo instalar PHP7 en Debian 8
PHP es un lenguaje de programación de uso general de código del lado del servidor, originalmente diseñado para el desarrollo web de contenido dinámico. Con PHP7 puedes llegar a obtener hasta el doble de rendimiento y un 50% menos de consumo de memoria con respecto a PHP5.6. Esto te permite servir más conexiones concurrentes sin agregar nuevo hardware. Ya la nueva versión de Debian: Debian 9 Strech incluye PHP7 por defecto. Sin embargo,en la versión estable de Debian 8.x. no está incluido PHP7. Por eso en este tutorial te enseñaré cómo instalar PHP7 en Debian Jessie 8.
Para instalar PHP7 en Debian Jessie 8.x debes hacer lo siguiente:
- Desinstalar el viejo PHP5.6 (si estaba instalado).
- Configurar el repositorio para PHP7.
- Instalar PHP7.
- Reconfigurar el servidor web.
- Aplicar las nuevas configuraciones.
Desinstalando la vieja versión de PHP (si estaba instalado)
Recuerda que este paso solo es necesario si tienes una versión de PHP anterior instalado en tu sistema. Antes de desinstalar PHP5.6 vamos a guardar en una variable temporal el listado de paquetes de PHP instalados, para más adelante instalar los equivalentes en PHP7.
La variable la llamaremos “oldphppackages”:
1 |
oldphppackages="$(dpkg --list | grep php | awk '/^ii/{print $2}')" |
Si queremos imprimir el contenido de la variable anterior:
1 2 |
$ echo $oldphppackages libapache2-mod-php5 php5 php5-cli php5-common php5-curl php5-gd php5-json php5-mcrypt php5-mysql php5-readline |
Para desinstalar la versión anterior de PHP ejecuta:
1 |
$ sudo apt-get --purge remove $oldphppackages |
Configurando el repositorio para PHP7
Emplearemos el repositorio de terceros dotdeb.org. Este repositorio nos brinda las últimas versiones de Nginx, PHP7 y Redis para Debian 8 Jessie. Primero debemos agregar la llave pública del repositorio de esta manera:
1 |
$ wget -O - https://www.dotdeb.org/dotdeb.gpg | apt-key add - |
Agregamos el repositorio de dotdeb.org a nuestro sistema:
1 2 |
$ sudo sh -c "echo 'deb http://packages.dotdeb.org jessie all' > /etc/apt/sources.list.d/dotdeb.org.list" $ sudo sh -c "echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list.d/dotdeb.org.list" |
Finalmente, actualizamos la base de datos de los paquetes de nuestro sistema:
1 |
$ sudo apt-get update |
Instalar PHP7
Anteriormente habíamos creado una variable del bash llamada “oldphppackages”, la cual contiene todos los paquetes de PHP5.6 que estaban instalados. A continuación, vamos a crear una variable llamada “newphppackages” que contendrá los paquetes de PHP7 equivalentes:
1 2 |
$ newphppackages=`sed 's/php5/php7.0/g' <<<$oldphppackages` $ apt-get install $newphppackages |
Reconfigurando el servidor web y PHP7
Los archivos de configuración para PHP7.0 se encuentran localizados en:
- /etc/php/7.0/apache2/ – PHP 7 con Apache 2.
- /etc/php/7.0/fpm/ – PHP-FPM para Nginx/Lighttpd/Apache2.
- /etc/php/7.0/mods-available/ – módulos de PHP disponibles.
En dependencia del tipo de servidor web que uses debes ajustar algunos parámetros.
Ejemplo: Configurando Nginx para usar PHP7
Por cada Virtual Host que necesite PHP en el directorio “/etc/nginx/sites-enabled” debes localizar la línea: «fastcgi_pass unix:/….;». Luego debes cambiarla o verificar que contiene la ruta del socket:
1 |
fastcgi_pass unix:/var/run/php7.0-fpm.sock; |
Guardar los cambios y reiniciar el servidor Nginx:
1 |
$ sudo systemctl restart nginx.service |
Ejemplo: Configurando Apache para usar PHP-FPM con PHP7.
Primeramente, debes activar el módulo fastcgi. Puedes hacerlo así:
1 |
$ sudo a2enmod proxy_fcgi setenvif |
Luego, habilita la configuración de Apache para PHP-FPM con este comando:
1 |
$ sudo a2enconf php7.0-fpm |
Reinicia por último el servidor web:
1 |
$ sudo systemctl restart apache2.service |
Comprobando la versión de PHP instalada
Para comprobar la versión de PHP instalada puedes ejecutar el siguiente comando en el terminal:
1 2 3 4 5 |
$ php --version PHP 7.0.23-1~dotdeb+8.1 (cli) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.23-1~dotdeb+8.1, Copyright (c) 1999-2017, by Zend Technologies |
Si deseas verlo desde un navegador web, crea el archivo phpinfo.php en la raíz de tu servidor web:
1 2 3 |
<?php phpinfo(); ?> |

Función phpinfo P?HP7 + Debain 8 Jessie
Una vez que hayas comprobado la versión de PHP y los módulos instalados, recomendamos borrar el archivo phpinfo.php para evitar que atacantes vean información relevante sobre tu servidor web.
Algunas consideraciones sobre PHP-FPM
PHP-FPM se ejecuta como un servicio aparte del servidor web, por lo que cualquier modificación sobre el mismo requiere reiniciarlo. Los archivos de configuración pueden ser encontrados en:
- /etc/php/7.0/fpm/php.ini – archivo de configuración principal.
- /etc/php/7.0/fpm/php-fpm.conf – archivo de configuración de PHP-FPM.
- /etc/php/7.0/fpm/pool.d/www.conf – archivo de configuración adicional para PHP-FPM.
A continuación, están relacionados los comandos para detener/iniciar/reiniciar y recargar la configuración PHP-FPM:
1 2 3 4 |
$ sudo systemctl stop php7.0-fpm.service $ sudo systemctl start php7.0-fpm.service $ sudo systemctl restart php7.0-fpm.service $ sudo systemctl reload php7.0-fpm.service |
Hasta aquí tenemos un servidor web corriendo con la última versión de PHP estable para Debian 8 Jessie. Espero que te haya sido útil.
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir