Migrando Guarani3w de Windows a Debian

Estimados, buenos días!
Hoy emprendí la ardua tarea de mudar el servicio web Guarani3w a Debian, estoy siguiendo el documento Apache + SSL + PHP v2006-02-20.
Todo iba bien hasta llegar a la parte donde intentamos probar el cliente informix corriendo demo1.ec, aquí me saltan errores varios y no puedo continuar, ya que seguí con la instalación de ODBC pero tampoco puedo conectarme con ese método.
Este es el output al ejecutar demo1.ec:


./demo1.ec: line 1: /backupSQL.sql: Permission denied
./demo1.ec: line 2: blobload.ec: command not found
./demo1.ec: line 3: blobload.ec: command not found
./demo1.ec: line 4: blobload.ec: command not found
./demo1.ec: line 5: blobload.ec: command not found
./demo1.ec: line 6: blobload.ec: command not found
./demo1.ec: line 7: blobload.ec: command not found
./demo1.ec: line 8: blobload.ec: command not found
./demo1.ec: line 9: blobload.ec: command not found
./demo1.ec: line 10: blobload.ec: command not found
./demo1.ec: line 11: blobload.ec: command not found
./demo1.ec: line 12: blobload.ec: command not found
./demo1.ec: line 13: syntax error near unexpected token `c'
./demo1.ec: line 13: ` * (c)  Copyright IBM Corporation 1997, 2005. All rights reserved.'

Si lograste instalar odbc y el cliente de informix en el archivo odbcinst.ini:

[ODBC Drivers]
INFORMIX-CLI 2.90 32=Installed

[INFORMIX-CLI 2.90 32]
Driver=$INFORMIXDIR/lib/cli/iclis09b.so
Setup=$INFORMIXDIR/lib/cli/iclis09b.so
APILevel=1
ConnectFunctions=YYY
DriverODBCVer=03.81
FileUsage=0
SQLLevel=1

En odbc.ini:

[ODBC Data Sources]
[nombre_dsn]
Driver=$INFORMIXDIR/lib/cli/iclis09b.so
Description=Base de Datos Guarani
Database=nombre_base_de_datos
Server=nombre_instancia
TRANSLATIONDLL=$INFORMIXDIR/lib/esql/igo4a304.so

Luego chequear la conexión con:

isql nombre_dsn usuario password 

ODBC.INI

[ODBC Data Sources]
[guaranisrv]
Driver=$INFORMIXDIR/lib/cli/iclis09b.so
Description=Base de Datos Guarani
Database=siu_guarani
Server=ol_guarani
TRANSLATIONDLL=$INFORMIXDIR/lib/esql/igo4a304.so

ODBCINST.INI

[ODBC Drivers]
INFORMIX-CLI 3.50 32=Installed

[INFORMIX-CLI 3.50 32]
Driver=$INFORMIXDIR/lib/cli/iclis09b.so
Setup=$INFORMIXDIR/lib/cli/iclis09b.so
APILevel=1
ConnectFunctions=YYY
DriverODBCVer=03.81
FileUsage=0
SQLLevel=1

ISQL -v guaranisrv me da:

[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect

Estas variables deben existir en la sesión:

INFORMIXDIR="/opt/informix"
LD_LIBRARY_PATH="/opt/informix/lib:/opt/informix/lib/esql"
SQLHOSTS="/opt/informix/etc/sqlhosts"
ODBCINI="/etc/odbc.ini"

Hay que exportarlas para poder usar isql sin errores.

El cliente de informix lo instalé en /opt/IBM

Contenido de /etc/profile:


# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
fi

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    PS1='\u@\h:\w\$ '
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
export INFORMIXDIR=/opt/IBM
export INFORMIXSERVER=ol_guarani
PATH=$PATH:$INFORMIXDIR/bin
LD_LIBRARY_PATH="/opt/IBM/lib:/opt/IBM/lib/esql"
SQLHOSTS="/opt/IBM/etc/sqlhosts"
ODBCINI="/etc/odbc.ini"
export PATH
umask 022

Contenido de /etc/odbc.ini

[guaranisrv]
Driver=/opt/IBM/lib/cli/iclit09b.so
Description=Base de Datos Guarani
Database=siu_guarani
Server=ol_guarani
TRANSLATIONDLL=/opt/IBM/lib/esql/igo4a304.so

Contenido de /etc/odbcinst

[ODBC Drivers]
INFORMIX-CLI 3.50 32=Installed
[INFORMIX-CLI 3.50 32]
Driver=/opt/IBM/lib/cli/iclit09b.so
Setup=/opt/IBM/lib/cli/iclit09b.so
APILevel=1
ConnectFunctions=YYY
DriverODBCVer=03.81
FileUsage=0
SQLLevel=1

Output de isql -v guaranisrv:

[IM002][unixODBC][Informix][Informix ODBC Driver]Data source name not found and no default driver specified.
[ISQL]ERROR: Could not SQLConnect

A primera vista como que le estás errando al nombre del DSN. Pero según lo que escribís están bien. Usuario y calve le especificás?

No le especifico, donde debería ?

isql nombre_dsn usuario password

Sigue sin conectar.

Hola
Porque no probas con el siguiente documento que esta en la extranet
"UNT- Instalar Cliente Informix en linux "

Yo con ese pude configurar sin problemas el cliente

En eso estoy ahora, pero en el mismo server usaba mysql, al querer instalar informix como pdo se explotaba apache. Solucion, estoy haciendo otro server solo para el guarani3w.

Saludos

Debes esta haciendo algo mal con el pdo porque yo lo tengo funcionando con apache, mysql y pdo sin problemas.
Fijate en esta pagina me ayudo con el tema de pdo
http://lemachete.wordpress.com/2010/05/19/instalar-pdo_informix-en-debian-lenny/

Atte
Felix

Sigo la guía al pie de la letra, pero cuando instalo informix, reinico apache y se pincha. Como tengo otras cosas en ese servicio web decidí aislar la cuestión. Igualmente son maquinas virtuales así que no es tanto problema.

Que error te tira el log de apache ?

Lo de apache lo solucioné aislando el servidor por el momento, ahora ya tengo el cliente instalado e informix como PDO andando.
Cuando ejecuto inicial.php mediante el navegador me da “Missing file: /var/www/g3w/adodb/drivers/adodb-pdo_guarani.inc.php” El cual efectivamente no existe, pero tampoco vino en la versión del guarani3w que estoy usando (2.6.0).
Igualmente el script de prueba (demoagua.ec) corre sin problemas, pero cuando entro como informix para ver ejecutar a.out me da:

DEMO1 Sample ESQL Program running.
Program stopped by WHENEVER STOP
sqlca:
 sqlcode:-25556
 sqlerrm: ''
 sqlerrp: ''
 sqlerrd:
 sqlerrd(1)=0
        (2)=0
        (3)=0
        (4)=0
        (5)=0
        (6)=0
 sqlwarn.sqlwarn0:
        .sqlwarn1:
        .sqlwarn2:
        .sqlwarn3:
        .sqlwarn4:
        .sqlwarn5:
        .sqlwarn6:
        .sqlwarn7:

Por lo que estimo que la conexión a la base de datos no es exitosa.

Esto me da cuando ejecuto inicial.php:

Missing file: /var/www/g3w/adodb/drivers/adodb-pdo_guarani.inc.php ADONewConnection: Unable to load database driver ''

Fatal error: Call to undefined method stdClass::Connect() in /var/www/g3w/library/std_functions.lib.php on line 62

Copié el archivo del release 2.6.3 y ahora no da ningun error, pero obviamente no anda :frowning:

Estoy desesperau.

Hola

Que version de php estas usando?

Emilio

PHP 5.2.6-1+lenny13 with Suhosin-Patch 0.9.6.2 (cli) (built: Jul 1 2011 17:03:36)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

ok.

fijate el valor de suhosin.get.max_value_length
llevala a 2048 al menos.
y veamos que pasa.

por otro lado, configurá el php para que te muestre todos los errores en pantalla mientras estás instalando.