Cómo instalar mcrypt en PHP 7.2

A partir de PHP 7.1, php-mcrypt estaba en desuso. Y a partir de PHP 7.2 se eliminó por completo. Esto es un problema, ya que varios software a nivel del servidor aún dependen de esta herramienta de cifrado. Y debido a que software como Nextcloud, ownCloud y muchos más aún tienen que cambiar esa dependencia, es posible que no lo puedas instalar sin mcrypt en el sistema.

No importa cuántas veces ejecutes apt-get install php-mcrypt o yum install php-mcrypt, no funcionará.

Afortunadamente, hay una solución. Dicha solución cae sobre los hombros del comando pecl. PECL es la Biblioteca de Extensión de PHP, que sirve como depósito de extensiones de PHP. A través de este repositorio, puede instalar mcrypt.

Afortunadamente, hay una solución. Dicha solución cae sobre los hombros del comando pecl. PECL es la Biblioteca de Extensión de PHP, que sirve como depósito de extensiones de PHP. A través de este repositorio, puede instalar mcrypt.

¿Qué es mcrypt?

La extensión mcrypt es un reemplazo para el comando crypt de UNIX. Estos comandos sirven como un medio para encriptar archivos en sistemas UNIX y Linux. La extensión php-mcrypt sirve como una interfaz entre PHP y mcrypt.

¿Cómo instalamos mcrypt?

Primero, abra una ventana de terminal e instale las dependencias necesarias con los comandos:

sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev

Instalamos "libmcrypt-dev" principalmente para evitar el error "configure: error: mcrypt.h not found. Please reinstall libmcrypt".

Una vez que las dependencias han sido instaladas, puede instalar mcrypt con el comando:

sudo pecl install mcrypt-1.0.1

Y listo. Mcrypt ahora está instalado. Ahora al proceso de instalación del software de servidor que depende de esta extensión debería estar listo para proceder con su instalación.

Mcrypt no se ha ido, solo se mudó

No te preocupes: mcrypt no se ha ido. Simplemente se ha movido fuera de PHP y dentro de PECL.

Pero para aquellos que han estado instalando a través de php-mcrypt durante años, esto representa un gran cambio.

Ahora, en lugar de poder instalar mcrypt con un solo comando, tienes que lidiar con cuatro. Aun así, al menos todavía tienes mcrypt disponible. Eventualmente, sin embargo, creo que la dependencia de mcrypt se migrará a otra herramienta (como OpenSSL).