Actualizando PHP 7.2 en Debian 8 & Virtualmin

Como algunos ya sabréis, a la versión de PHP 5.6 se le termina el soporte el 31/12/2018. Esto conlleva, que si usas la versión 5.6 o más antigua, todo agujero de seguridad que sea detectado, no va a ser parcheado, ya que ha cumplido su ciclo de soporte por parte de la comunidad.

Versión

Fecha de lanzamiento

Fin de soporte

Notas

5.5

20-06-2013

20-06-2016

Nuevos generadores para bucles, empty() soporta expresiones. Se pierde el soporte para Windows XP y Windows Server 2003.21

5.6

20-08-2014

31-12-2018

Constantes con expresiones escalares, listas de argumentos de longitud variable y exponencial mediante el operador **.22

6

 

 

El desarrollo de PHP 6 ha sido retrasado porque los desarrolladores decidieron que el enfoque actual para tratar cadenas Unicode no es correcto, y están considerando formas alternas para la siguiente versión.23​ Las mejoras planeadas para PHP 6 fueron añadidas en su lugar en PHP 5.3.0 (Soporte para espacios de nombre, enlace estático en tiempo de ejecución, funciones lambda, clausuras, goto) y 5.4.0 (traits, revinculación de clausura).

Se ha abandonado la versión 6 de PHP siendo la siguiente versión la 7.24

7.0

03-11-201525

03-12-2018

 

Mejoras de rendimiento ,26​ declaración de tipos de retorno en funciones 27

 

7.1

01-12-20162829

01-12-2019

 

Tipo de retorno vacío,30​ Clase constante modificadores de visibilidad,31​ Tipos nullable,32​ iterable de tipo seudo,33​ Captura múltiples tipos de excepciones.34

 

7.2

30-11-2017

30-11-2020

 

Nuevo tipo de retorno “object”35​, integración de Libsodium como una extensión del nucleo36

 

7.3

12-12-2018

12-12-2021


 

 

 

Referencia:. Wikipedia, PHP

La última versión estable de PHP es la 7.2, que trae muchas mejoras respecto a la 5.6. Podemos destacar, una mejora en el rendimiento comparado con la versión 5.6; ya que estamos hablando de que puede procesar el triple de transacciones por segundo. También la seguridad, como sus librerías criptográficas, que son más modernas y beneficiarán tanto al usuario como a la seguridad de nuestras páginas Web’s.

Instalando PHP 7.2

Lo primero que tendremos que hacer, es instalar los pre-requisitos necesarios para actualizar el repositorio en nuestro Debian 8.

[root@srv01www ~]# apt-get install apt-transport-https lsb-release ca-certificates
[root@srv01www ~]# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
[root@srv01www ~]# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list'

A continuación, actualizamos la lista de paquetes disponibles en los repositorios y solicitaremos la instalación del nuevo PHP 7.2 como todos sus adyacentes.

[root@srv01www ~]# apt-get update
[root@srv01www ~]# apt install php7.2-cgi php7.2-mysql php7.2-curl php7.2-gd php7.2-imap php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-mbstring php7.2-zip php7.2-cli

Si lo hemos hecho bien, podremos verificar con el comando php -v que la versión que hemos instalado, es la que  está utilizando el sistema actualmente.

[root@srv01www ~]# php -v
PHP 7.2.12-1+0~20181112102353.11+jessie~1.gbp55f215 (cli) (built: Nov 12 2018 14:04:20) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.12-1+0~20181112102353.11+jessie~1.gbp55f215, Copyright (c) 1999-2018, by Zend Technologies

Ahora mismo, nuestro sistema tiene dos versiones de PHP instaladas. Si queremos ver qué versiones están disponibles, usaremos el siguiente comando update-alternatives –list php

[root@srv01www ~]# update-alternatives --list php
/usr/bin/php5
/usr/bin/php7.2

Si fuera necesario, podremos volver a usar la versión 5.6 de PHP,usando el siguiente comando update-alternatives –set php /usr/bin/php5

[root@srv01www ~]# update-alternatives --set php /usr/bin/php5
update-alternatives: using /usr/bin/php5 to provide /usr/bin/php (php) in manual mode

[root@srv01www ~]# php -v
PHP 5.6.38-0+deb8u1 (cli) (built: Sep 20 2018 02:32:02) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

Configurando Virtualmin

Ahora que tengo instalado en el Sistema dos versiones de PHP (5.6 y 7.2), tendremos que indicarle a Virtualmin, que versión queremos utilizar en nuestros dominios. Para eso, iremos a Virtualmin –> Server Configuration –> PHP Versions y una vez ahí, podremos seleccionar la versión de PHP que queremos usar.


Virtualmin –> Server Configuration –> PHP Versions

Este procedimiento, lo tendremos que hacer con todos los Servidores que actualmente tenemos creados. Ya que si creamos un nuevo Servidor, este usará la última versión instalada en el Sistema “Highest available“, porque está definido en la plantilla por defecto “Default Settings” Si queremos revisar la plantilla, nosotros la encontraremos en  Virtualmin –> System Settings –> Server Templates –> Default Settings


Virtualmin –> System Settings –> Server Templates –> Default Settings
Edit template section –> PHP options –> Change
Highest available

Verificando

Ahora que tenemos configurado en Virtualmin, la versión de PHP que queremos usar en nuestro dominio valero-torres,. sólo nos queda verificar con un sencillo script en PHP para que nos muestre desde el navegador la versión que está usando. Para eso, creamos un verificar_php.php con el siguiente código y lo alojamos en el servidor.

<?php
phpinfo();
?>

Si todo ha ido bien, debería de mostrarse el siguiente mensaje.