¿En qué podemos ayudarte?

MCrypt es una de las herramienta más usadas para cifrar archivos en PHP. Sin embargo, las versiones actuales ya no la incorporan. Se recomienda utilizar OpenSSL en su lugar. Si necesitamos esta librería tendremos que instalarla nosotros mismos o solicitarlo a nuestro proveedor de alojamiento.

¿Por qué podemos necesitar MCrypt en PHP?

Básicamente,  hay dos razones que nos pueden obligar a implementar esta librería de cifrado si usamos PHP 7.2.x o superior

Usamos una  aplicación que la requiere. Un ejemplo es  Prestashop 1.6x.  Migrar a la versión 1.7, es un proceso que puede ser complicado. Tendremos que comprobar la compatibilidad de los complementos instalados y las personalizaciones  que hayamos realizado. 

El otro motivo  es por requerimiento de un servicio externo, con un algoritmo de cifrado no compatible con OpenSSL. 

Si nos vemos en cualquiera de estas situaciones, tendremos que compilar, instalar y cargar la librería. Parece una tarea compleja pero no es así, como veremos a con

En una VPS con Ubuntu, será suficiente con 7 comandos en el terminal. Debemos sustituir la X por la versión de PHP instaladas (es decir. 7.2, 7.3, etc)

Primero instalamos los paquetes de desarrollo para PHP

sudo apt-get -y install php7.x-dev


A continuación las herramientas de compilación para PHP

sudo apt-get -y install gcc make autoconf libc-dev pkg-config


Llega el turno de los paquetes de desarrollo para MCrypt

sudo apt-get -y install libmcrypt-dev


Finalmente, procedemos a la compilación, instalación de configuración de la librería

sudo pecl install mcrypt-1.0.1


Aceptamos la configuración automática y pasados unos segundos el proceso finalizará. Si no hay errores se nos informará de la ubicación de la extensión.

Haremos caso a la recomendación y configuraremos  PHP para que haga uso de la nueva extensión. La vía más rápida es crear desde la consola loas archivos de configuración necesarios.

sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.x/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.x/apache2/conf.d/mcrypt.ini"


Si nuestra web implementa HTTP2 necesitaremos crear un tercer archivo.

sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.x/fpm/conf.d/mcrypt.ini"


Solo nos queda reiniciar Apache y si procede PHP-FPM.  Para comprobar que la extensión funciona correctamente nos ayudaremos de nuestro viejo conocido phpinfo().

Como hemos visto el proceso no es excesivamente complicado y nos llevará apenas unos minutos tener la nueva extensión disponible en nuestro servidor. Esto nos dará el tiempo necesario para actualizar y migrar el software sin presiones. 

0 0 votes
Valoración del artículo
Suscribir
Notificar de
guest
0 Comentarios
Inline Feedbacks
View all comments