Error conexion G3W2 2.9.0 [SOLUCIONADO]

Hola, acabamos de instalar 2.9.0 sobre un sistema nuevo (centos7) para poder utilizar php 5.4

Todo muy bien hasta que intentamos ingresar a la aplicación:

[Thu Jun 04 12:09:42.966123 2015] [:error] [pid 25235] [client 192.168.100.12:64205] PHP Fatal error:  Uncaught exception 'kernel\\error_kernel_db' with message 'DB CONNECTION ERROR: ERROR conectandose al motor - SQLSTATE=08004, SQLDriverConnect: -908 [Informix][Informix ODBC Driver][Informix]Attempt to connect to database server (on_srvguarani) failed.\n\nPor favor, verifique sus par\xc3\xa1metros de conexi\xc3\xb3n:

Lo curioso es que el test_conexion de guarani funciona exitosamente.

Alguna idea?

Gracias

Claudio, están bien configurados los parámetros de conexión para el servidor ‘on_srvguarani’?
Adjuntanos el config sin contraseñas.
Gracias!

Si, el test_conexion funciona.
Adjunto el config.


config.zip (1.11 KB)

Claudio, pasanos la salida del test de conexión, con los parámetros que está levantando (sin contraseñas).
Es muy raro que el test de correcto y la aplicación no conecte, ya que toma los mismos parámetros.

Va la salida.

[root@guarani3w-dev instalacion]# /usr/local/proyectos/guarani2/3w/versiones/2.9.0/bin/guarani test_conexion grarias
PHP Warning:  date(): It is not safe to rely on the system's timezone settings.       You are *required* to use the date.timezone setting or the date_default_timezone   _set() function. In case you used any of those methods and you are still getting     this warning, you most likely misspelled the timezone identifier. We selected t  he timezone 'UTC' for now, but please set date.timezone to select your timezone.      in /usr/local/proyectos/guarani2/3w/versiones/2.9.0/src/siu/lib/kernel/util/logphp on line 49

Warning: date(): It is not safe to rely on the system's timezone settings. You a re *required* to use the date.timezone setting or the date_default_timezone_set( ) function. In case you used any of those methods and you are still getting this    warning, you most likely misspelled the timezone identifier. We selected the ti mezone 'UTC' for now, but please set date.timezone to select your timezone. in /                      usr/local/proyectos/guarani2/3w/versiones/2.9.0/src/siu/lib/kernel/util/log.php                       on line 49
PHP Warning:  Cannot modify header information - headers already sent by (output   started at /usr/local/proyectos/guarani2/3w/versiones/2.9.0/src/siu/lib/kernel/ util/log.php:49) in /usr/local/proyectos/guarani2/3w/versiones/2.9.0/src/siu/extension_kernel/eventos_aplicacion.php on line 17

Warning: Cannot modify header information - headers already sent by (output star ted at usr/local/proyectos/guarani2/3w/versiones/2.9.0/src/siu/lib/kernel/util/log.php:49) in /usr/local/proyectos/guarani2/3w/versiones/2.9.0/src/siu/extension_kernel/eventos_aplicacion.php on line 17
SE CONECTO CON EXITO!!!!!!!!!
PARÁMETROS DE LA APLICACION

vendor: informix
database: fagraxxx
host: 2xxxx
server: on_srvguarani
client_locale: en_us.cp1252
service: 1526
protocol: onsoctcp
LogonID: xxxxx
pwd: xxxx
EnableScrollableCursors: 1


DATOS

: CNV2.09.0

Estimo puede venir por el lado de las variables de entorno del Apache?

Claudio, el nombre del bloque de acceso parámetro del test de conexión es diferente al que nos adjuntaste en el config. Están corriendo el test sobre el bloque de acceso que no conecta en el aplicativo? Tienen los mismos parámetros de conexión? No me puedo dar cuenta ya que no leo los nombres completos de bases, host, usuario. El usuario que usan en ‘LogonID’ está definido en el servidor?

Es el mismo, lo que paso es que lo edite cuando hice el copy-paste

El usuario esta correctamente definido en el servidor y con el perfil Alumno.

Las variables de entorno las chequie con un phpinfo() y sale todo bien, incluso el PDO_informix y demás extensiones.

Hola, ademas de lo que pregunto Juliana, como tienen configurado el archivo instalacion/alias.conf, tendrian que tener algo asi:


....
....
<Location ~ "/g3w2_290/*">
	# representa el id interno de la unidad académica. Se correponde con la entrada
	# en el archivo config.yml ua_<ACC_ID>. Ej: ua_VET
    SetEnv ACC_ID agrarias

	# se setea de esta manera para que esta variable sea accesible desde mod_rewrite
	# ATENCIÃÓN: el alias debe empezar con '/'
	SetEnvIf always_match ^ ACC_ALIAS=/g3w2_290
</Location>

osea, fijence en SetEnv ACC_ID agrarias, donde agrarias es el nombre del bloque de acceso.

saludos.

Si, esta ok eso…
Digamos que ya valide todos los errores comunes;)

Sumo otro dato, el Apache es 2.4.6 y PHP 5.4.16
Las variables de entorno estan cargadas, mod_rewrite cargado.

Hola, seguimos con el mismo problema. Alguna idea?

Hola
no les habrán cambiado el nombre a la base de datos al pasar a 2.9.0? Pregunten en desarrollo

Saludos
Felipe

Claudio, volviendo al primer mensaje, cuando ejecutaste el “test_conexion” se visualizó los datos de la Unidad Academica?

El test_conexion funciona, devuelve esto:

SE CONECTO CON EXITO!!!
PARÁMETROS DE LA APLICACION

vendor: informix
database: fagrarias
host: xxxxx
server: on_srvguarani
client_locale: en_us.cp1252
service: 1526
protocol: onsoctcp
LogonID: xxxxx
pwd: xxxxx
EnableScrollableCursors: 1

DATOS

: CNV2.09.0

No , ya descartamos tambien eso.

Hola,

CentOS trae SELinux activo, ¿Probaron bajarlo? Muchas veces traba procesos y no nos da ningún mensaje de advertencia.
Permisos para el usuario de apache (creo que era apache también). Cuando ejecutas desde consola el test, se ejecuta con el usuario logueado, por la app no.

Saludos.-

Hola,
SElinux esta disabled,
Puede ser el tema permisos de apache…lo voy a revisar. Exactamente cuales serían los permisos adecuados?

Buen día Claudio; En este post se menciona el tema.
Comentanos el resultado por favor. ¡Gracias!

Hay alguna manera de debuguear el proceso de conexión? Es decir ya que el test_conexion esta funcionando queremos revisar el proceso de conexion que usa la aplicación

Hola!

     Seguramente lo que está pasando, es que no están definidas las variables de entorno de informix para el usuario que corre apache, por eso el test de conexión funciona cuando la ejecutás desde consola, y la conexión que se corre desde apache no.

por Ejemplo en mi instalación en el archivo /etc/apache2/envvars agregué:


export INFORMIXDIR=/opt/informix
export INFORMIXSQLHOSTS=/opt/informix/etc/sqlhosts

y luego reinicié el apache!

Saludos
Sergio

Ahi quedo funcionando, agregue variables de entorno en varios lugares, porque en Centos 7 ya no existen los archivos de arranque como en versiones anteriores, utiliza sysmted.
Bueno sirve la experiencia.

Gracias, saludos!