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.
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.
[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?
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.
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.
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
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é:
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.