- DETECTANDO ERRORES
- Configurar PHP para que notifique los errores
- Chequear los archivos de logs de la aplicación
- Chequear el log de Apache
- Algunos errores comunes, que hacen que la aplicación presente una página …
- Funciona el test de conexión pero el aplicativo no se conecta a la base de …
- Error ReflectionException
- 4 Errores Comunes
- 5 Encoding de la Base de Datos
DETECTANDO ERRORES
El propósito del siguiente documento es recopilar información de las distintas preguntas de los usuarios, para ayudar a detectar los errores más comunes al instalar la aplicación.
Configurar PHP para que notifique los errores
- Ubicar el archivo de configuración de PHP, por lo general se encuentra en /etc/php5/apache2/php.ini
- Encontrar en este archivo, las lineas que contienen las sentencias error_reporting y display_errors, y verificar que quede de la siguiente manera:
(asegurarse de que no estén comentadas ni redefinidas más abajo en el mismo archivo).
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT display_errors = On
(display_errors = On no recomendado en ambientes de producción)
- guardar los cambios del archivo y reiniciar el servicio de apache.
Chequear los archivos de logs de la aplicación
- Los archivos de logs se encuentran en:
[path_aplicacion]:/instalacion/logs/[punto de acceso]/[[BR]]
- Si la carpeta está vacía, verificar:
- Que el usuario con el cual se ejecuta apache, tenga permiso de escritura en esa carpeta
- No tener desactivado el log, en el archivo config.php
Debería estar de la siguiente manera:
'log' => array( 'activo' => true, 'nivel' => 'debug', .....[[BR]]
Chequear el log de Apache
- Generalmente el log de apache se ubica en: /var/log/apache2/error.log
Algunos errores comunes, que hacen que la aplicación presente una página en blanco
- Tener la Aplicación en producción (produccion = true en config.php) y no están compilados los recursos ( Instructivo puesta en producción versión 2.8.3)
- Tener la Aplicación configurada para iniciar con un archivo de debug (ini_debug = true en config.php) y no tener un archivo debug.php en la carpeta [path_aplicacion]/src/siu (en general poner ini_debug = false)
- No tener los permisos, para que el usuario con el cual se ejecuta apache, pueda escribir en las carpetas correspondientes. Instructivo instalación versión 2.8.3
- Tener mal configurado el archivo instalacion/alias.conf, ver el siguiente foro alias.conf mal configurado
- Tener mal configurado el parámetro client_locale en el archivo instalacion/config.conf, ver el siguiente foro CLIENT_LOCALE mal configurado
Funciona el test de conexión pero el aplicativo no se conecta a la base de datos
- Corroborar que estén definidas las variables de entorno de informix para el usuario que corre apache.
Por ejemplo, en una instalación sobre Debian, en el archivo /etc/apache2/envvars agregar las siguientes líneas y luego reiniciar apache:
export INFORMIXDIR=/opt/informix export INFORMIXSQLHOSTS=/opt/informix/etc/sqlhosts
Error ReflectionException
Este es otro error muy común que se da en G3W2 2.8.3, en los archivos de log muestra lo siguiente:
================================================================================ ================================= ERRORES ================================== ================================================================================ clase: ReflectionException mensaje: Class siu\extension_kernel\formularios\elementos\guarani_vista_default does not have a constructor, so you cannot pass any constructor arguments traza: [TRAZA] ... ...
El error se debe a un bug de PHP ( https://bugs.php.net/bug.php?id=52854) que se soluciona en la versión PHP 5.3.4 y posteriores.
4 Errores Comunes
En el apartado Errores Comunes hicimos un compilado con los errores más comunes y qué pasos deben verificarse para poder resolverlos.
5 Encoding de la Base de Datos
Si aparece el siguiente error:
While migration from Informix database there might be an error specified below: [Informix][Informix ODBC Driver]Inexact character conversion during translation.
Puede deberse a que el encoding de la base no se corresponde con el encoding del cliente. Para ello deben ver cual es el collate de la base con la consulta:
SELECT site FROM SYSTABLES WHERE tabname = ' GL_COLLATE'; Resultado: en_us.cp1252
Este valor debe setearse en el parametro CLIENT_LOCALE de la conexión a la base que se encuentra en el archivo config.php
'accesos' => array ( 'des01' => array ( 'ua' => 5, 'personalizacion' => NULL, 'database' => array ( 'vendor' => 'informix', 'database' => 'guarani', 'host' => '192.168.1.1', 'server' => 'ol_guarani', 'client_locale' => 'en_us.cp1252', 'service' => 1526, 'protocol' => 'olsoctcp', 'LogonID' => NULL, 'pwd' => NULL, 'EnableScrollableCursors' => 1, ), ), ), ),