Cómo actualizar PHP en tus servidores de 7.0 a 7.2

Post directo nardogeek para aquellos que administran sus propios servidores y todavía poseen una versión vieja de PHP como la 5.6 que está algo caducada o la 7.0 que este diciembre llegó al fin de la vida de mantenimiento.

Sobran razones para la actualización que van desde mucha mayor performance general a mucha mayor seguridad pasando por que muchos frameworks y paquetes empiezan a requerir algunas de sus características, obviamente la falta de mantenimiento futuro es suficiente para hacer el cambio, pero no es que el upgrade afecta nada, anda todo bien si tu software lo soporta, claro (y si no deberías portarlo ya mismo!).

Voy a dejar una explicación que fui compilando de distintas que encontré así que obviamente tomen con pinzas mis palabras :D pero como tuve que pasar todo lo que era 7.0 a 7.2 fue más que necesario armarme mi propio manual para Ubuntu Server que es aplicable también para Debian con algunos retoques.

En mi caso todavía tengo varios servidores con Ubuntu Server 16.04 que es la versión LTS más utilizada en este momento, lo único negativo es que los repositorios que trae sólo ofrecen PHP 7.0 y hasta ahí llegan.

Primero que nada actualicen sus servidores como siempre:

apt-get update && apt-get upgrade

Luego, recomendado, hagan un backup de la config que tenían para su versión anterior, nunca viene mal hacer backup antes de romper todo

cd /etc/php
zip -r php7.0backup.zip 7.0/

Luego vi que muchos tutoriales requerían agregar estas herramientas de python para los instaladores, ni idea exactamente para qué, pero venga, no hace daño...

apt-get install python-software-properties

Agregamos el repo de ondrej que son los que tienen todos los ports actualizados, el tipo es un groso que mantiene los paquetes de Debian desde el 2000 y también de Ubuntu

add-apt-repository ppandrej/php

Mandamos update, porque hay repo nuevo, update nuevo

apt-get update

Paramos Apache y lola, durante un rato no van a poder ver las páginas web, que el público espere...

service apache2 stop

Y ahí instalamos PHP 7.2, no hace falta todavía purgar el anterior (algunos ni lo hacen) y obviamente también pueden usar exactamente esto para 7.3 o cualquiera que venga después:

apt-get install php7.2

Además todo lo que pueda llegar a servirte, módulos que utilizabas, etc. Siempre algo te vas a olvidar pero bueno...

apt-get install php-pear php7.2-curl php7.2-dev php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml php7.2-fpm

Lo agregamos a Apache para que lo utilice

sudo a2enmod php7.2

Reactivamos el servicio:

service apache2 restart

Luego de chequear que todo esté funcionando correctamente y que realmente estamos usando la 7.2 (en consola pueden preguntar php -v) podemos purgar el 7.0 y listo!

sudo apt-get purge php7.0 php7.0-common

Y listo, como verán es bastante directo y sencillo, todo esto si no metieron mano como animalitos en la config del servidor, una vez actualizado recomiendo revisar el php.ini y ver qué cosas tienen de diferencias de configs personales, volver a hacerlas, seguramente con tiempos de timeout y tamaños de archivos, super recomendable revisar eso.

 

Otros posts que podrían llegar a gustarte...

Comentarios

  • 2 cosas...

    Por las dudas siempre fijate qué paquetes php7.0 tenés instalados con:

    :~# dpkg -l |grep php7.0

    Y si por algún motivo NO desinstalás php7.0 pero querés llevar todo a a 7.2 tenés que hacer esto:

    :~# update-alternatives --set php /usr/bin/php7.2
    :~# update-alternatives --set phar /usr/bin/phar7.2
    :~# update-alternatives --set phar.phar /usr/bin/phar.phar7.2
    :~# update-alternatives --set phpize /usr/bin/phpize7.2
    :~# update-alternatives --set php-config /usr/bin/php-config7.2

    Porque algunas cosas que tu código puede necesitar no siempre se cargan desde el binario php directamente.

    salute

    • Responder
    • Citar
    • Comentado:
  • Gustavo V    

    excelente nardo post...

    me gusta

    • Responder
    • Citar
    • Comentado:
  • mariano    

    PHP? que no habían cerrado ese antro?

    y que es eso de apt-get install? acaso docker no te ha enseñado nada? :P

    • Responder
    • Citar
    • Comentado:
    • la típica respuesta del que no trabaja en el mundo real sino en la fantasía de un servidor perfectamente instalado que jamás ve la vida en producción :D

      nah, si tenés algo de idea de cómo es la infraestructura de la fucking web sabés que la gran mayoría de los servidores no estan con docker ni con nada y que el 70% de los sitios usa PHP sobre Apache, creer que docker es la panacea es mirar muy corto también y no, no todo servidor que ya está instalado y funcionando con uptimes fantásticos necesita agregar otra capa de cosas en el medio para hacer lo que ya se podía hacer antes sin necesidad de más y más recursos para más y más capas intermedias que no aportan nada en algunos casos (como este)

      • Responder
      • Citar
      • Comentado:
  • DrMato    

    apt update, viejo! :D

    Muy buen post! Sencillo y bien explicado.

    • Responder
    • Citar
    • Comentado:

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https
Para evitar bots, si se tardó mucho en leer la nota seguramente no sirva y tenga que intentar dos veces

Negrita Cursiva Imagen Enlace


comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador