Luego de haber actualizado a la nueva versión de OSX Yosemite, pasé bastante tiempo trabajando con las herramientas que usualmente uso, y todo parecía ir bastante bien. Pensé que la actualización había sido de lo mas transparente y que realmente no necesitaba realizar ninguna configuración adicional.
Esto hasta que intenté ejecutar phpMyAdmin, el hecho es que la nueva versión de Yosemite, tenía algunos problemas con la configuración que yo había cargado en mi versión de php, la cual por cierto es actualizada en Yosemite. El principal problema radicaba en una librería, la mcrypt y acá dejo los pasos que usé a fin de poder tener mi instalación corriendo de nuevo:
Antes de comenzar el proceso de instalación propiamente dicho debemos descargar las siguientes herramientas:
1) La libreria libmcrypt-2.5.8, que puede ser encontrada aqui; descargue la libmcrypt (no mcrypt!), seleccionando el enlace etiquetado como “libmcrypt-2.5.8.tar.gz” en la pagina de SourceForge.
2) El código fuente de PHP 5.5.14 que puede encontrarlo acá; NOTA – puede que su versión de PHP ya esta actualizada la versión 5.5.14, use phpinfo() para chequear la versión de PHP también puede ejecutar el comando php --version
en su terminal;
3) Xcode 6.1, el cual puede descargarlo desde la App Store. También necesitará Command Line Tools (OS X 10.10) for XCode, la cuál puede ser obtenida seleccionando la opción “Xcode/Open Developer Tool/More Developer Tools..” desde el menú de Xcode.
4) Hombrew el cual puede se instalado siguiendo la siguiente instrucción en su linea de comandos: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
Vamos ahora al terminal, donde «el texto es el rey :-)»
Creamos un directorio llamado «Source» dentro de «temp» y nos movemos dentro de él.
mkdir /tmp/source && cd /tmp/source
Coloque los archivos comprimidos descargados en 1 y 2 dentro de esta carpeta y extraigalos allí. Esto tambien puede ser hecho en un solo paso con los siguientes comandos:
curl --location -s http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download | tar -zx
curl --location -s http://nl3.php.net/get/php-5.5.14.tar.gz/from/nl1.php.net/mirror | tar -zx
Instalamos la libreria libmcrypt-2.5.8
cd /tmp/source/libmcrypt-2.5.8
MACOSX_DEPLOYMENT_TARGET=10.10 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --disable-dependency-tracking
make -j6
sudo make install
Installamos php
cd /tmp/source/php-*/ext/mcrypt/
phpize
MACOSX_DEPLOYMENT_TARGET=10.10 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --with-php-config=/usr/bin/php-config
make -j6
sudo make install
Limpiamos la casa
Eliminamos la carpeta temporal creada anteriormente
cd ~ && rm -rf /tmp/source
Activamos la libreria dentro de PHP
Editamos la configuración de nuestro PHP
sudo nano /etc/php.ini
si vemos que aparece el mensaje de «archivo nuevo» copiamos php.ini.default a php.ini primero
[ ! -f "/etc/php.ini" ] && sudo cp /etc/php.ini.default /etc/php.ini
Algunas versiones de OSX ya traen una sección para mcrypt, este fue mi caso, trate de ubicar dicha sección con el comando CTRL+W dentro de nano y busque por una sección llamada «mcrypt», si la consigue coloque esta línea dentro de dicha sección:
extension=mcrypt.so
caso contrario coloque dicha instrucción al final del archivo php.ini.
Probamos los pasos anteriores.
Reiniciemos Apache
- click Apple > System Preferences > Sharing
- Desactive Web Sharing
- Habilite Web Sharing
Si Web Sharing no inicia, revise cada uno de los pasos ejecutados anteriormente, muy probablemente no se haya percatado de algun mensaje de error derivado de la ejecución de alguno de ellos.
Si todo está ok, Web Sharing deberia activarse sin problemas.
En su terminal puede ejecutar el siguiente comando:
php --info | grep crypt
Debería ver algo como esto:
mcrypt support => enabled
Listo! ahora tenemos nuestra versión de PHP habilitada de nuevo.
Saludos
H.M.
Deja un comentario