El siguiente párrafo está extraído de la guía de inicio rápido de Symfony: "El sandbox es un proyecto Symfony muy sencillo de instalar y preparado con las opciones de configuración más habituales. Se trata de la mejor forma de probar Symfony sin tener que realizar una instalación correcta que se adecue a las mejores prácticas en el mundo web".
El sandbox está configurado para utilizar SQLite como base de datos. En Windows no es necesario instalar nada para que funcione, ya que el soporte de SQLite lo proporciona la extensión PDO de PHP que se instaló durante la instalación de PHP. Por tanto, este requisito ya se cubrió al instalar las librerías de PHP mediante el Microsoft Web PI.
Simplemente comprueba que la extensión SQLite está correctamente referenciada
en el archivo de configuración PHP.INI que se encuentra en el directorio
C:\Program Files (x86)\PHP
. Además, comprueba que la DLL que implementa el
soporte PDO de SQLite sea C:\Program Files (x86)\PHP\ext\php_pdo_sqlite.dll
.

Figura 11.21 PHP - Localización del archivo de configuración php.ini.
11.5.1. Descargar, crear el directorio y copiar los archivos
El proyecto del sandbox de Symfony ya viene preparado para ser ejecutado, pero
se encuentra dentro de un archivo comprimido .zip
.
Descarga el archivo del sandbox
y extrae sus contenidos a un directorio temporal, como por ejemplo el directorio
downloads que se encuentra dentro del directorio C:\Users\Administrator
.

Figura 11.22 sandbox - Descargar y descomprimir el archivo.
Crea un directorio para instalar el sandbox, como por ejemplo F:\dev\sfsandbox
:

Figura 11.23 sandbox - Crea el directorio sfsandbox.
Selecciona todos los archivos del directorio en el que descomprimiste el sandbox
y copialos en el nuevo directorio F:\dev\sfsandbox
.
Si todo funciona bien, verás que se están copiando 2599 archivos:

Figura 11.24 sandbox - Copiar 2599 archivos.
11.5.2. Probando la ejecución
Abre una consola de comandos, entra en el directorio F:\dev\sfsandbox
y
ejecuta el siguiente comando:
PHP symfony -V
El resultado del comando anterior debería ser:
symfony version 1.3.0 (F:\dev\sfsandbox\lib\symfony)
En la misma consola de comandos, ejecuta:
SYMFONY.BAT -V
El resultado de este nuevo comando debería ser exactamente el mismo que antes:
symfony version 1.3.0 (F:\dev\sfsandbox\lib\symfony)

Figura 11.25 sandbox - Probando correctamente la línea de comandos.
11.5.3. Creando la aplicación web
Para crear la aplicación web en el servidor local, se va a utilizar el gestor de IIS7, que es una interfaz gráfica que hace las veces de panel de control para todas las actividades relacionadas con IIS. En realidad, cualquier cambio que se realiza en la interfaz gráfica se ejecuta en segundo plando mediante la línea de comandos.
La consola del IIS Manager se puede acceder a través de Inicio > Programs > Administrative Tools > Internet Information Server (IIS) Manager.
11.5.3.1. Configurar el sitio web por defecto para que no interfiera en el puerto 80
Para asegurarnos de que solamente nuestro sandbox de Symfony responde en el puerto 80 (HTTP), modifica el puerto del "Default Web Site" existente al 8080.

Figura 11.26 IIS Manager - Configurando el "Default Web Site".
Si el firewall de Windows está activo, es posible que debas crear una excepción para el puerto 8080 de forma que todavía se pueda acceder al "Default Web Site". Para ello, accede al panel de control de Windows, pincha sobre Windows Firewall selecciona la opción "Allow a program through Windows Firewall", pulsa sobre "Add port" y crea la excepción. Después de crearla, pulsa sobre el cuadrado para activarla.

Figura 11.27 Windows Firewall - Crear una excepción para el puerto 8080.
11.5.3.2. Añadir un nuevo sitio web al sandbox
Accede a las Administration Tools y abre el IIS Manager. En la parte de la
izquierda, selecciona el icono "Sites" y pulsa el botón derecho. Selecciona
la opción Add Web Site e introduce como nombre del sitio "Symfony Sandbox".
En la opción Physical Path selecciona D:\dev\sfsandbox
y deja el resto de
opciones sin cambiar. Deberías ver la siguiente ventana de diálogo:

Figura 11.28 IIS Manager - Añadir un nuevo sitio web.
Pincha sobre el botón OK. Si se muestra una pequeña x
en el icono del sitio
web (dentro de Features View / Sites) puedes hacerla desaparecer pinchando
sobre el "Restart" que se muestra a la derecha.
11.5.3.3. Comprobando que el sitio web responde
Desde el IIS Manager, selecciona el sitio "Symfony Sandbox" y pulsa sobre la opción "Browse *.80 (http)" del panel derecho.

Figura 11.29 IIS Manager - Pincha en Browse port 80.
Si todo funciona bien, deberías ver el siguiente mensaje de error: HTTP Error
403.14 - Forbidden
. El servidor web está configurado para no mostrar un listado
de los contenidos del directorio.
El origen del error es que la configuración por defecto del servidor web impide
mostrar un listado con todos los contenidos de los directorios. Como no existe
ningún archivo llamado index.php
o index.html
en D:\dev\sfsandbox
, el
servidor muestra correctamente el error de tipo "Forbidden".

Figura 11.30 Internet Explorer - Error normal.
Accede a la URL http://localhost/web
en tu navegador (en vez de simplemente
http://localhost
). Ahora si que deberías ver en tu navegador la famosa página
"Symfony Project Created":

Figura 11.31 IIS Manager - Accediendo a la URL http://localhost/web.
En la parte superior de la página verás una barra de color amarillo claro con el mensaje "Intranet settings are now turned off by default. Intranet settings are less secure than Internet settings. Click for options.".
No te preocupes por ese mensaje. Si quieres cerrarlo permanentemente, pincha el botón derecho sobre la barra amarilla y selecciona la opción apropiada.
Visualizar la página anterior confirma que la página index.php
se ha cargado
correctamente desde D:\dev\sfsandbox\web\index.php
, que se ha ejecutado bien
y que las librerías de Symfony están correctamente configuradas.
Antes de empezar a jugar con el sandbox de Symfony tenemos que realizar una
última tarea: configurar la página web del frontend mediante las reglas de
reescritura de URL. Estas reglas se encuentran en un archivo .htaccess
y se
pueden incorporar fácilmente al IIS Manager.
11.5.4. Configuración del frontend del sandbox
Para empezar a probar todas las opciones de Symfony, es necesario configurar
la aplicación frontend del sandbox. Inicialmente la portada del frontend se
puede acceder y se ejecuta correctamente cuando se accede desde el propio
ordenador donde se encuentra el servidor (es decir, desde localhost
o desde
127.0.0.1
).

Figura 11.32 Internet Explorer - La página frontend_dev.php se puede acceder bien desde el localhost.
Para comprobar que el sandbox funciona correctamente bajo Windows Server 2008, pincha sobre las secciones "configuration", "logs" y "timers" de la barra de depuración web.

Figura 11.33 Configuración del sandbox.

Figura 11.34 Mensajes de log del sandbox.

Figura 11.35 Control del tiempo del sandbox.
Aunque podríamos intentar acceder al sandbox desde Internet o desde cualquier dirección IP remota, el sandbox está pensado como una herramienta para aprender a utilizar Symfony en una máquina local. Por tanto, los detalles sobre el acceso remoto se mostrarán en la última sección de este capítulo.