G2/ConsideracionesTecnicas/DetectandoErrores

<volver>

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,
                                ),
                        ),
                ),
        ),

<volver>