Si trabajas con Symfony desde tu Mac, una de las primeras cosas que debes hacer para verificar que toda tu configuración de servidor local funcione correctamente en app/check.php
la mayoría de los requisitos obligatorios son fáciles de cumplir, pero siempre la extensión intl de PHP causa muchos dolores de cabeza, así que en esta guía te mostraré paso a paso de una manera sencilla como instalar la extensión intl en OS X Mavericks (el proceso es similar en OS X 10.7 y 10.8).
intl es la extensión de internacionalización. Esta extensión proporciona una funcionalidad adicional a la traducción (localización) en validación de campos de formulario, incluido el de moneda y fecha.
Intl necesita que tengas previamente instalado ICU y autoconf, por default OS X Mavericks no los incluye, no te preocupes que también te voy a decir como instalarlo primero, ya que usando PECL y Homebrew todo es muy fácil.
Para poder seguir esta guía es necesario que previamente hayas instalado y configurado Apache, PHP y MSQL, luego instalado PEAR y finalmente instalado Homebrew.
- Guía para instalar y configurar Apache, PHP y MySQL en OS X Mavericks.
- Cómo instalar PEAR y PECL en OS X Mavericks
- Cómo instalar Homebrew en OS X Mavericks.
Una vez que hayamos completado los pasos anteriores, vamos a comenzar por instalar las bibliotecas necesarias usando Homebrew.
Primero actualizamos el catálogo de Homebrew con este comando:
brew update
Instalamos ICU con Homebrew, usando este comando:
brew install icu4c
Instalamos autoconf con Homebrew, usando este comando:
brew install autoconf
Ahora que ya cumplimos con los requisitos vamos a instalar intl
Primero actualizamos los canales de PECL con este comando:
sudo pecl update-channels
Ahora instalamos intl con este comando:
sudo pecl install intl
Al ejecutar el comando anterior te va a pedir la ruta donde tienes instalado ICU, en nuestro caso como usamos Homebrew se localiza en:
/usr/local/Cellar/icu4c/52.1/
Al finalizar debemos registrar la extensión en nuestro php.ini
, este archivo lo encontramos normalmente en \\etc\\php.ini
pero en algunos casos no tenemos el php.ini
pero cambio tenemos un php.ini.default
, si es así debes ejecutar este comando antes:
sudo cp /etc/php.ini.default /etc/php.ini
Ahora sí, tenemos nuestro archivo en \\etc\\php.ini
ábrelo y agrega esta línea:
extension=intl.so
Guarda el archivo y reinicia apache con este comando:
sudo apachectl -t
sudo apachectl restart