Instalar mcrypt para PHP en Mac OSX El Capitan

mcrypt es un método de encriptado de archivos que usa técnicas seguras de intercambio de datos. Estas son requeridas para algunas web apps como Magento o un framework PHP como Laravel.

mcrypt para PHP, proceso para la instalación

Command Line Tools

Lo primero que necesitas es tener instaladas las herramientas de comandos en línea.

Ya sabes, abre el Terminal desde Aplicaciones > Utilidades > Terminal o bien CTRL + ESPACIO para abrir Spotlight y tecleando Terminal.

Ejecuta lo siguiente:

xcode-select --install

Desactivar SIP/rootless

Ahora necesitas desactivar el SIP de OSX El Capitan para poder instalar en algunos directorios protegidos del sistema. Tienes más información sobre el SIP y como desactivarlo en mi anterior artículo, consúltalo aquí.

Resumiendo, para desactivarlo reinicia el ordenador y entra en el modo de Recuperación. Seguidamente abre el Terminal y ejecuta el siguiente comando:

csrutil disable

Obteniéndolo en OS X El Capitan 10.11

Lanza el Terminal, cambia de directorio (cd) a la cuenta de inicio y crea un directorio en el que trabajarás llamado crypt

cd ~ ; mkdir mcrypt ; cd mcrypt

Obtén libmcrypt 2.5.8 desde Source Forge, es una descarga directa.

Obtén el código PHP en formato tar.gz o .bz2 (OSX El Capitan viene con la versión 5.5.27)

Mueve ambos archivos a tu directorio de trabajo mcrypt y vuelve al Terminal, escribe el siguiente comando para entrar en el:

cd ~/mcrypt

Expande ambos archivos desde el Terminal (también puedes hacer doble click desde el Finder):

tar -zxvf libmcrypt-2.5.8.tar.gz
tar -zxvf php-5.6.13.tar.gz

Elimina los archivos comprimidos:

rm *.gz

Configurando libmcrypt

Entra al directorio libmcrypt:

cd libmcrypt-2.5.8

Libmcrypt necesita ser configurado:

./configure
make
sudo make install

Con libmcrypt configurado y las librerías instaladas es hora de crear la extensión mcrypt para PHP.

Instalando Autoconf

Instala autoconf desde el Terminal:

cd ~/mcrypt
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar xvfz autoconf-latest.tar.gz
cd autoconf-2.69/
./configure
make
sudo make install

Compilando las extensión mcrypt para PHP

cd ../php-5.6.13/ext/mcrypt/
/usr/bin/phpize

La salida debería ser algo parecido a esto:

Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212<./configure

make
sudo make install

El resultado debería ser algo así:

Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20121212/

Si obtuvieras algún error es que no has desactivado SIP.

cp: /usr/lib/php/extensions/no-debug-non-zts-20121212/#INST@17000#: Operation not permitted

Activando la extensión mcrypt.so para PHP

Abre /etc/php.ini y añade la siguiente linea al final:

extension=mcrypt.so

Si no existiera un archivo php.ini, necesitarás crear uno desde php.ini.default en la misma localización:

sudo cp /etc/php.ini.default /etc/php.ini

Y permitir acciones de escritura:

sudo chmod u+w /etc/php.ini

Entonces añade la linea de arriba con tu editor de textos:

sudo nano /etc/php.ini

o

sudo vi /etc/php.ini

Asegúrate que las extensiones dinámicas están activadas:

extension_dl = On

Y añade la línea:

extension=mcrypt.so

Re-iniciar Apache

sudo apachectl restart

Eso es todo ya tienes instalado mcrypt para PHP, crea una página PHP con la instrucción phpinfo(); para ver que se carga correctamente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *