Al desarrollar aplicaciones con Symfony, es probable que tengas que instalarlo dos veces: una para el entorno de desarrollo y otra para el servidor de producción (a no ser que el servicio de hosting que utilices tenga Symfony preinstalado). En cada uno de los servidores lo lógico es evitar duplicidades juntando todos los archivos de Symfony en un único directorio, independientemente de que desarrolles una o varias aplicaciones.
Como el desarrollo de Symfony evoluciona rápidamente, es posible que esté disponible una nueva versión estable del framework unos días después de la primera instalación. La actualización del framework es algo a tener muy en cuenta, por lo que se trata de otra razón de peso para juntar en un único directorio todas las librerías de Symfony.
Existen dos alternativas para instalar las librerías necesarias para el desarrollo de las aplicaciones:
Symfony integra algunos paquetes externos:
Pake y lime han sido desarrollados por el equipo de Symfony. Creole, Propel y Phing han sido creados por otros equipos de desarrollo y se publican bajo la licencia GNU Lesser Public General License (LGPL). Todos estos paquetes están incluidos en Symfony.
El paquete PEAR de Symfony incluye las librerías propias de Symfony y todas sus dependencias. Además, también contiene un script que permite extender la línea de comandos del sistema para que funcione el comando symfony.
Para instalar Symfony de esta manera, en primer lugar se debe añadir el canal Symfony a PEAR mediante este comando:
> pear channel-discover pear.symfony-project.com
Para comprobar las librerías disponibles en ese canal, se puede ejecutar lo siguiente:
> pear remote-list -c symfony
Una vez añadido el canal, ya es posible instalar la última versión estable de Symfony mediante el siguiente comando:
> pear install symfony/symfony downloading symfony-1.0.0.tgz ... Starting to download symfony-1.0.0.tgz (1,283,270 bytes) ................................................................. ................................................................. .............done: 1,283,270 bytes install ok: channel://pear.symfony-project.com/symfony-1.0.0
Y la instalación ya ha terminado. Los archivos y las utilidades de línea de comandos de Symfony ya se han instalado. Para asegurarte de que se ha instalado correctamente, prueba a ejecutar el comando symfony para que te muestre la versión de Symfony que se encuentra instalada:
> symfony -V symfony version 1.0.0
Si prefieres instalar la versión beta más reciente, que tiene las últimas correcciones de errores y las últimas mejoras, puedes ejecutar el comando pear install symfony/symfony-beta. Sin embargo, las versiones beta no son estables y por tanto no se recomiendan para los servidores de producción.
Después de la instalación, las librerías de Symfony se encuentran en los siguientes directorios:
$php_dir/symfony/ contiene las principales librerías.$data_dir/symfony/ contiene la estructura básica de las aplicaciones Symfony; los módulos por defecto; y la configuración, datos para i18 (internacionalización), etc.$doc_dir/symfony/ contiene la documentación.$test_dir/symfony/ contiene las pruebas unitarias. Las variables que acaban en _dir se definen en la configuración de PEAR. Para ver sus valores, puedes ejecutar el siguiente comando:
> pear config-show
En los servidores de producción, o cuando no es posible utilizar PEAR, se puede descargar la última versión de las librerías Symfony directamente desde el repositorio Subversion que utiliza Symfony:
> mkdir /ruta/a/symfony > cd /ruta/a/symfony > svn checkout http://svn.symfony-project.com/tags/RELEASE_1_0_0/ .
El comando symfony, que solamente está disponible en las instalaciones PEAR, en realidad es una llamada al script que se encuentra en /ruta/a/symfony/data/bin/symfony. Por tanto, en una instalación realizada con SVN, el comando symfony -V es equivalente a:
> php /ruta/a/symfony/data/bin/symfony -V symfony version 1.0.0
Probablemente ya tenías creado algún proyecto de Symfony antes de realizar la instalación mediante SVN. En este caso, es necesario modificar el valor de 2 variables en el archivo de configuración config/config.php del proyecto:
<?php $sf_symfony_lib_dir = '/ruta/a/symfony/lib'; $sf_symfony_data_dir = '/ruta/a/symfony/data';
El Capítulo 19 muestra otras opciones para enlazar un proyecto con una instalación de Symfony, incluyendo el uso de enlaces simbólicos y rutas relativas.
Otra forma de instalar Symfony es bajar directamente el paquete de PEAR (http://pear.symfony-project.com/get/symfony-1.0.0.tgz) y descomprimirlo en algún directorio. El resultado de esta instalación es el mismo que si se instala mediante el repositorio de Subversion.
Capítulo original en inglés Chapter 3 - Running Symfony Traducido por Miguel Sánchez