Si se producen errores durante la instalación, lo mejor es intentar mostrar los mensajes de error en el navegador o en la consola de comandos. Normalmente los errores muestran pistas sobre su posible causa y hasta pueden contener enlaces a algunos recursos disponibles en Internet sobre ese problema.
3.5.1. Problemas típicos
Si continuan los problemas con Symfony, puedes comprobar los siguientes errores comunes:
- Algunas instalaciones de PHP incluyen tanto PHP 4 como PHP 5. En este caso, suele ser habitual que el comando de PHP 5 sea
php5
, por lo que se debe ejecutar la instrucciónphp5 symfony
en vez desymfony
. Puede que también sea necesario añadir la directivaSetEnv PHP_VER 5
en el archivo de configuración.htaccess
e incluso puede que tengas que renombrar los scripts del directorioweb/
para que tengan una extensión.php5
en vez de la tradicional extensión.php
. Cuando se intenta ejecutar Symfony con PHP 4, el error que se muestra es similar al siguiente:
Parse error, unexpected ',', expecting '(' in .../symfony.php on line 19.
- El límite de memoria utilizado por PHP se define en el archivo de configuración
php.ini
y debería valer por lo menos16M
(equivalente a 16 MB). El síntoma común de este problema es cuando se muestra un mensaje de error al instalar Symfony mediante PEAR o cuando se utiliza la línea de comandos:
Allowed memory size of 8388608 bytes exhausted
- La directiva
zend.ze1_compatibility_mode
del archivo de configuración de PHP (php.ini
) debe tener un valor igual aoff
. Si no es así, cuando se intenta acceder a cualquier script, se muestra el siguiente mensaje de error:
Strict Standards: Implicit cloning object of class 'sfTimer'because of 'zend.ze1_compatibility_mode'
- Los directorios
log/
ycache/
del proyecto deben tener permiso de escritura para el servidor web. Si se ejecuta una aplicación sin estos permisos, se muestra la siguiente excepción:
sfCacheException [message] Unable to write cache file"/usr/miproyecto/cache/frontend/prod/config/config_config_handlers.yml.php"
- La ruta del sistema debe incluir la ruta al comando
php
, y la directivainclude_path
del archivo de configuración de PHP (php.ini
) debe contener una ruta a PEAR (en el caso de que se utilice PEAR). - En ocasiones, existe más de un archivo
php.ini
en el sistema (por ejemplo cuando se instala PHP mediante el paquete WAMP). En estos casos, se puede realizar una llamada a la funciónphpinfo()
de PHP para saber la ruta exacta del archivophp.ini
que está utilizando la aplicación.
Nota Aunque no es obligatorio, es muy recomendable por motivos de rendimiento establecer el valor off
a las directivas magic_quotes_gpc
y register_globals
del archivo de configuración de PHP (php.ini
).
3.5.2. Recursos relacionados con Symfony
Existen varias formas de encontrar soluciones a los problemas típicos y que ya les han ocurrido a otros usuarios:
- El foro de instalación de Symfony (http://www.symfony-project.org/forum/) contiene muchas preguntas sobre configuraciones en diferentes plataformas, entornos y servidores.
- La lista de correo de usuarios de Symfony (http://groups.google.es/group/symfony-es) permite buscar en sus archivos de mensajes, por lo que es posible que encuentres a otros usuarios que han pasado por los mismos problemas.
- El wiki de Symfony (http://trac.symfony-project.org/#Installingsymfony) contiene tutoriales detallados paso a paso sobre la instalación de Symfony que han sido creados por otros usuarios.
Si no encuentras la respuesta en esos recursos, puedes preguntar a la comunidad de Symfony. Las preguntas puedes hacerlas en el foro, en la lista de correo e incluso en el canal IRC de Symfony (#symfony
) para obtener la respuesta de los miembros más activos de la comunidad.