Con Mac OS X trae por defecto muchas herramientas y instaladas, pero a veces no están del todo a nuestro gusto. Ya vimos antes como instalar RVM, Homebrew, Python en Mac OS X. Ahora seguimos esta serie de post instalando todo el stack de PHP (PHP, PHPUnit, Composer )…
Para terminar configurando nuestro entorno con Symfony2. Así podremos tener un entorno donde desarrollar proyectos con Symfony2 junto con test utilizando phpunit. Esto es un pequeño paso para empezar a utilizar TDD con symfony2.
Cómo instalar PHPUnit utilizando homebrew
Con homebrew es muy facil instalar PHPUnit tan solo tenemos que abrir un terminal y escribir:
brew install josegonzalez/php/phpunit
brew install josegonzalez/php/phpunit-skeleton-generator
phpunit -v
Con tan solo estos comandos ya tenemos instalado phpunit en MacOs X
Como instalar Composer en Mac
Pues lo más sencillo para instalar composer en Mac es con Homebrew
brew install josegonzalez/php/composer
Ya esta casi está todo, ahora solo nos queda configurar PHP para poder instalarle extensiones. Una de las extensiones más útiles de PHP es XDebug. COn Xdebug podemos debuguear nuestro código PHP sin esfuerzo utilizando Eclipse.
Configurando PHP, encontrando php.ini
Instalar extensiones en PHP es bastante sencillo, solo hay que instalarlas y configurar php.ini, el problema viene al intentar buscar php.ini.
En el directorio /etc podemos encontrar un archivo php.ini por defecto, lo que debemos hacer para activar php.ini en Mac es:
sudo cp /etc/php.ini.default /etc/php.ini
Ahora podemos instalar Xdebug con Homebrew
brew install php54-xdebug
Y para configurar la extensión XDebug abrimos /etc/php.ini y escribimos lo siguente en la parte de extensiones
zend_extension=/usr/local/Cellar/php54/5.4.25/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so
Al final del fichero configuramos XDebug así:
[xdebug]
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.max_nesting_level = 250
Listo al hacer escribir en el terminal php -v saldrá algo parecido a esto:
Instalando Symfony2 en Mac
Instalar symfony2 en Mac teniendo ya instalado todo el entorno de PHP es sencillísimo. Como ya tenemos algo de manejo con homebrew y el terminal hacer funcionar Symfony2 es cuestión de minutos
Como instalar mysql
Es sencillo solo abrir un terminal y escribir:
brew install mysql
Una vez instalado arrancamos mysql Server en Mac
mysql.server start
Si queremos que mysql inicie cada vez que arrancamos el PC y no hala que andar iniciandola solo tenemos que hacer esto:
mkdir -p ~/Library/LaunchAgents
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Ahora podemos instalarnos un cliente de Mysql, yo he elegido Mysql WorkBench, lo podemos descargar aquí:
http://dev.mysql.com/downloads/tools/workbench/
Configuramos la conexión y listo.
Por defecto el usuario es root y no hay contraseña. El puerto es 3306
Configurando la zona horaria en php.ini
Para que Symfony2 funcione correctamente tenemos que modificar php.ini, en nuestro caso está en /etc/php.ini.
Abrimos el archivo buscamos «date.timezone», finalmente nos quedará algo así:
date.timezone = Europe/Madrid
Instalando symfony2
Utilizando composer es muy sencillo crear un nuevo proyecto SYmfony2. Solo tenemos que abrir un terminal, ir a la carpeta donde queramos crear el proyecto y escribir
composer create-project symfony/framework-standard-edition symfony/ 2.4.
Esto nos descargará todas las dependencias de symfony.
Configurando Symfony2 en Mac
Entramos dentro de la carpeta del proyecto y configuramos los permisos
cd symfony
chmod 0777 app/{cache,logs}
chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/{cache,logs}
Iniciamos el servidor
php app/console server:run
Accedemos a http://localhost:8000/app_dev.php
Pinchamos en configure y configuramos los parámetros necesarios. Cuando esté todo podemos entrar en http://localhost:8000/config.php y comprobar que está todo correcto
Ya tenemos creado nuestro proyecto en symfony2
Ejecutando tests en symfony2 con phpunit
Para ejecutar los test que estemos creando solo tenemos que escribir dentro del directorio donde hemos creado el proyecto de symfony.
phpunit -c app/
Con esto ejecutaremos todos los tests que estan en el archivo phpunit.xml.dist para ejecutar solo los test de un bundle phpunit -c app src/Acme/DemoBundle/
Conclusiones
Instalar utilizando homebrew es sencillisimo, aunque si es cierto que tener todo separado a veces es algo engorroso. Me explico, antes en windows utilizaba XAMPP, sé que en MAC también existe XAMPP e incluso MAMP pero quería tenerlo todo separado.