Errores conocidos

1) Parse error: syntax error, unexpected ',', expecting

Si visualiza este error (por ejemplo ejecutar desde la línea de comandos el symfony):

Parse error: syntax error, unexpected ',', expecting '(' in /var/www/alba/alba/bin/symfony.php on line 19

Se debe a que no tiene instalado el cliente para línea de comando de php5. (ej: paquete en debian php5-cli) También puede deberse a que esté usando php4.


2) Warning: require_once(PEAR.php):

Warning: require_once(PEAR.php): failed to open stream: No such file or directory in /var/www/alba/dist/phing.sandbox/lib/Zip.php on line 21

Fatal error: require_once(): Failed opening required 'PEAR.php' (include_path='/var/www/alba/alba/lib:/var/www/alba/alba/apps//lib::/var/www/alba/dist/symfony-0.6.2/lib/vendor:/var/www/alba/alba/bin/../lib:bin/lib:.:/usr/share/php:/usr/share/pear') in /var/www/alba/dist/phing.sandbox/lib/Zip.php on line 21

Se debe a que no tiene instalado Pear (ej: paquete de debian php-pear)


3) Internal Server Error

Si al entrar al sitio visualiza este error:

Internal Server Error

Para poder resolver mejor este error debe correr el sistema en modo debug recuerde verificar el log de error del apache.

Para usar el sistema en modo debug tiene que usar como URL  http://servidor/principal_dev.php

Nota: Puede ser que no tenga permisos desde el APACHE para usar. Para verificarlo encontrando .htaccess: Options not allowed here en el log de error:

ntbkragnarok:~# cat /var/log/apache2/error.log

Nota: Es posible que no tenga instalado el mod_rewrite en el servidor apache. (en Apache 2 generalmente viene instalado, sólo que no está habilitado por defecto) para activar el modulo:

ntbkragnarok:~# a2enmod rewrite
Module rewrite installed; run /etc/init.d/apache2 force-reload to enable.
ntbkragnarok:~#

Luego debe reiniciar el Apache para que el módulo se active.

Otro posible error es que no tenga configurado en el Apache la opción:

AllowOverride All

Nota: recuerde que estas acciones se deben realizar como usuario root en el sistema.


4) Error de php.ini:

Configuration file "/home/vlad/alba/alba/data/symfony/config/php.yml" 
specifies that php.ini "magic_quotes_gpc" key must be set to "". 
The current value is "1" (php.ini location: "/etc/php5/apache2/php.ini"). [err0001]

A partir de la versión de symfony 0.6.3 es necesario cambiar la configuración del php.ini. (si no tiene acceso sobre ese archivo, debe hacerlo desde un .htaccess)


5) Errores 404 (Not Found):

Si bien debe tener instalado el mod_rewrite del Apache, compruebe que en la configuración

del virtual host, en el directorio, tenga la opción AllowOverride All para que sean procesadas las

directivas del archivo .htaccess.


6) Error 500

Por favor compruebe si en el log del apache encuentra el siguiente texto:

directorio/.htaccess: Options not allowed here

Si lo encontró, la solución es que use el siguiente en el vhost:

Options Indexes ExecCGI Includes SymLinksIfOwnerMatch

AllowOverride Indexes AuthConfig FileInfo Limit

7) PHP con safe_mode = on

Si esta corriendo php con la opción safe_mode = on

y obtiene mensajes de warning acerca de no poder usar chmod o mkdir

deberá cambiar los permisos de los archivos segun #218


8) Limite de memoria de php

Algunos de los paquetes de instalación del tipo LAMP o XAMP como diferentes versiones de php contiene por defecto un límite

de memoria de ejecución de los scripts muy bajo para correr el sistema de Gestión Educativa Alba.

Si ud. visualiza el siguiente error, por ejemplo al ejecutar la instalación automática con el alba_loader:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to
allocate 7077995 bytes) in alba_loader.php on line 268

Significa que debe aumentar el valor mencionado.

La forma de corregir ésto, es modificar la opción de php (en el archivo php.ini) donde dice:

memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)

por :

memory_limit = 32M ; Opcion modificada!

Con 32mb como valor debería alcanzar, si aún no alcanza, puedes pasar a 64M que es más que suficiente.

Nota: El archivo php.ini puede buscarlo en:

  • Debian o derivados: /etc/php5/
  • Windows: c:\windows\php.ini
  • Lamp en Linux: /opt/lampp/etc

9) Hosting no tiene habilitado algunas funciones como ini_set

El error que muestra en pantalla es:

Warning: ini_set() has been disabled for security reasons in lib/symfony/util/sfCore.class.php on line 188
 
Warning: ini_set() has been disabled for security reasons in cache/principal/prod/config/config_bootstrap_compile.yml.php on line 138
 
Fatal error: Call to undefined function class_implements() in cache/principal/prod/config/modules_default_config_filters.yml.php on line 14

Hasta el momento la única solución que existe es cambiar de hosting o pedir que habiliten esas funciones. El problema este es que Symfony necesita estas funciones para poder actuar correctamente.

10) Deprecated: Function eregi() is deprecated

Leer  http://devthought.com/tumble/2009/06/fix-ereg-is-deprecated-errors-in-php-53/

Gracias Héctor González por enviar la solución