Como instalar la extensión mcrypt en php 7.4 con Ubuntu

Como instalar la extensión mcrypt en php 7.4, en un servidor con Ubuntu 18.04, Ubuntu 20.04 o Debian 9 / 10.

Desde la versión php-7.2, el módulo mcrypt no está incluido por defecto en php. Si lo intentas instalar obtendrás el error «no se puede encontrar el paquete» o «no hay candidatos para la instalación».

La extensión mcrypt es una interfaz para la biblioteca de criptografía mcrypt, que está incluida desde las versiones PHP 5.4 a PHP 7.1. A partir de PHP 7.2, mcrypt ya no es mantenido y se mueve a extensión PECL no oficial (comunitaria).

Suponemos que fue desechada como extensión oficial por motivos de seguridad, sin embargo, algunas aplicaciones desarrolladas en PHP aún dependen de este módulo para funcionar correctamente. Un ejemplo claro lo tenemos en el servidor de archivos OwnClod.

 

Instalar la extensión mcrypt en php 7.4

En este artículo vemos como instalar la extensión mcrypt en PHP 7.4, pero es valido para otras versiones siempre que cambies la versión de php. Para comenzar a instalar la extensión mcrypt en un servidor Ubuntu o Debian, sigue los pasos indicados a continuación:

Comenzamos por los requisitos previos.

sudo apt-get install php-dev libmcrypt-dev gcc make autoconf libc-dev pkg-config php-pear

Ahora actualizamos pecl e instalamos la última versión de mcrypt (requiere php 7.2 o superior).

sudo pecl channel-update pecl.php.net
sudo pecl install mcrypt-1.0.3

Al concluir la instalación aparece un mensaje que nos avisa que tenemos que agregar la extensión al php.ini. Ejemplo…

Build process completed successfully
Installing ‘/usr/lib/php/20190902/mcrypt.so’
install ok: channel://pecl.php.net/mcrypt-1.0.3
configuration option «php_ini» is not set to php.ini location
You should add «extension=mcrypt.so» to php.ini

Puedes agregar la extensión de forma automática o manual. Yo prefiero la manual, pero si quieres automatizar el proceso sería algo similar al siguiente comando (en Apache).

echo "extension=mcrypt.so" | sudo tee -a /etc/php/7.4/apache2/conf.d/mcrypt.ini

De forma manual lo haremos más completo, por eso la recomiendo. Agregamos la extensión a php 7.4.

sudo nano /etc/php/7.4/cli/php.ini

Justo al principio del archivo, debajo de [PHP] copia y pega lo siguiente.

extension=mcrypt.so

Guarda el archivo y cierra el editor.

Vemos una imagen de ejemplo…

Modulo mcrypt en php.ini

Modulo mcrypt en php.ini

Si vamos a utilizar php en un servidor Apache, haremos la misma operación anterior en Apache2.

sudo nano /etc/php/7.4/apache2/php.ini

Si vamos a utilizar php en un servidor Nginx, haremos la misma operación anterior en fpm.

sudo nano /etc/php/7.4/fpm/php.ini

NO te olvides de reiniciar tu servidor elegido para que tome la nueva configuración.

# Apache
sudo systemctl restart apache2

# Nginx
sudo systemctl restart nginx

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Instalar la extensión mcrypt.

 

Una respuesta

  1. Henry
    27/04/2020

Agregar comentario