httpd - Env Variable - Informix [MEGOLDVA]

Sziasztok,

Van egy php alapú informix lekérdező script aminek böngészőből le kellene futnia.

A szitu az , hogy ha a root környezeti változóiban megadom az INFORMIXDIR és INFORMIXSERVER megfelelő értékeit akkor parancssorból jól lefut.

Namost ha ugyanezt a php scriptet böngészőből nyitom meg akkor nem tud csatlakozni.
Gondolom aza baja hogy ezek a környezeti változók nincsenek beállítva.

Hogyan tudnám ezt megoldani?

Próbálkoztam a httpd.conf-ba beírni az alábbiakat de nem segített

DefaultEnv INFORMIXDIR érték
DefaultEnv INFORMIXSERVER érték

a mod_env modul aktív

CentOS 6.2
httpd Apache/2.2.15
php 5.3.3

Valami tipp esetleg?

Hozzászólások

Sajnos nem sikerült :-(

Kipróbáltam a httpd.conf-ban és a Virtual directory configjában is

A weboldalon az alábbi üzenet fogad: start ifx_connect done. Connection failed.

A httpd logjában pedig az alábbi: [Wed Sep 05 15:26:53 2012] [error] PHP Warning: ifx_connect(): E [SQLSTATE=IX 001 SQLCODE=-1829]

http://php.net/manual/en/ref.ifx.php

"HowY 09-Feb-2007 08:58
One very frustrating experience with interfacing
Informix and unixODBC (on RHEL4 - PHP 5.20)
was the constant Informix error:
[SQLSTATE=IX 001 SQLCODE=-1829]
Unable to load locale categories
& the non existant handles from unixODBC calls.

This is an issue of the environment being set correctly
which I thought was - phpinfo() reported that the apache
environment was correct <_server=> I even went as far as
to Put/Setenv in httpd.conf.
The hint is in the php 'environment' block
- it did not contain the env strings.

The fix was to insert the environment strings in the httpd
start-up script (/etc/init.d/httpd) which pushed the
environment correctly when the server starts up.

Hope to save someone else the hours...."

(Hajdan az itt említettel megegyező problémám és megoldásom volt az apache-php-db2 konstellációban, ezért sejtettem, hogy nem rendkívüli az eset.)

"/bin/env INFORMIXDIR /utvo/nal"

Ennek így nincs értelme, és nem is használ:


$ set INFORMIXDIR=/utvo/nal
$ php -r ' echo "{", getenv("INFORMIXDIR"), "}\n";'
{}

Az env jó, de nem erre. Használata:


env kváltozó=érték [...] a_program_ami_a_környezetet_kapja

"set INFORMIXDIR=/utvo/nal"

Ez DOS-féle környezetmegadás, illetve C-shelles, de kétlem, hogy az hajtaná meg a démonodat. Az egyéb közkézen forgó shellekben pedig a set elsődleges feladata nem a környezeti változók piszkálása, bár véletlenül a set -a éppen azt csinálja, ami a cél: a létrehozott vagy módosított változókat exportálja, hogy a hívott programok láthassák azokat:


$ INFORMIXDIR=/mit/tom/en/hol
$ php -r ' echo "{", getenv("INFORMIXDIR"), "}\n";'
{}

de


$ INFORMIXDIR=/mit/tom/en/hol
$ set -a
$ php -r ' echo "{", getenv("INFORMIXDIR"), "}\n";'
{/mit/tom/en/hol}

Viszont az egyértelmű és közhasználatban álló forma:

export kvaltozó=érték


$ export INFORMIXDIR=/mit/tom/en/hol
$ php -r ' echo "{", getenv("INFORMIXDIR"), "}\n";'
{/mit/tom/en/hol}

Szia,

Köszi a segítséget , úgy tűnik ez a hiba momentán áthidalásra került de cserébe kaptam egy újat.

A böngésző tölt kb 1-2 percig mire kidobja, hogy nem tudott csatlakozni és egy új hibaüzenet jelent meg a logban.

ifx_connect(): E [SQLSTATE=08 004 SQLCODE=-908]

Ezt próbálom debugolni jelenleg