Problems with informix and apache
Posted in 1999
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Server Administration, Platform-Specific Issues, Internationalization & Character Sets
>> I'm trying to install php, apache and informix but, after compiling
>php
>> (--with-informix) always get the same error when i restart apache :
>> 'ifx_module_entry' error.
>
>Did you define informix libs for PHP BEFORE making PHP, as suggested?
Yes I did.
>
>> I suspect this module entry belongs to libifgls.so or libifglx.so.
>Theese
>> libraries are required when i install csdk.rpm
>> and they are not in my linux. (rpm -i --nodeps csdk.rpm)
>
>libifgls is in /opt/informix/lib/esql/libfgls.so and in /usr/lib as
>link
>same for libifglx.
Right. They are in $INFORMIXDIR/lib/esql but not in /usr/lib.
I have included all informix libraries in /usr/lib
ln -s $INFORMIXDIR/lib/lib*so /usr/lib
ln -s $INFORMIXDIR/lib/esql/lib*so /usr/lib
>
>They belong to CSDK installation.
>
>> Could you chech if your linux have theese libraries.
>>
>> I have tryed to install php with informix suport a lot of times (I
>have
>> LD_LIBRARY_PATH defined, my /etc/ld.so.conf is
>> pointing to informix libs, trying with SetEnv in httpd.conf) ... but
>gets
>> always the same error.
>
>Does your LD_LIBRARY_PATH include /usr/lib and/or
>/opt/informix/lib/esql/ ?
>
OK. This is a portion of my /etc/profile (check syntax? I'm running ksh)
INFORMIXDIR=/usr/informix
INFORMIXSERVER="$HOST"_se
ONCONFIG=onconfig.idsDBLANG=en_us/0333
DBDATE=DMY4-DBCENTURY=C
DB_LOCALE=es_es.8859-1DBMONEY=","
DBEDIT=vi
DBPATH=/
INFORMIXTERM=termcap
LD_LIBRARY_PATH="/usr/lib/ /usr/informix/lib /usr/informix/lib/c++ \\/usr/informix/lib/cli /usr/informix/lib/client /usr/informix/lib/dmi \\
/usr/informix/lib/esql"
IFX_LIBDIR_PATH="-L/usr/informix/lib -L/usr/informix/lib/esql"
IFX_INCDIR="/usr/informix/incl/esql"
IFX_LIBS="/usr/informix/lib/esql/libifasf.a \\
/usr/informix/lib/libifasf.a \\
/usr/informix/lib/esql/libifgen.a \\
/usr/informix/lib/esql/libifos.a \\
/usr/informix/lib/esql/libifgls.a \\
-lgen -lgls -lm -ldl /usr/informix/lib/esql/checkapi.o \\
/usr/informix/lib/esql/libifglx.a"
PATH=$PATH:$INFORMIXDIR/bin:/util:/util/central:/usr/ucb:/usr/local/bin:.
export INFORMIXDIR INFORMIXSERVER ONCONFIG DBLANG DBDATE DBCENTURY DB_LOCALEDB\\
MONEY DBEDIT DBPATH INFORMIXTERM PATH LD_LIBRARY_PATH IFX_LIBDIR IFX_INCDIR
IFX\\
_LIBS
With all theese variables defined, I log off from the system and log on as
root.
Then, rebuild php :
../configure --prefix=/usr/local/php-3.0.12 \\
--with-apxs=/usr/local/apache/bin/apxs \\
--with-informix=/usr/informix \\
--with-pgsql=/usr/include/pgsql \\
--enable-track-vars \\
--enable-debug \\
--enable-debugger \\
--with-config-file-path=/usr/local/apache/conf
make
make install
/etc/rc.d/init.d/apache stop
/etc/rc.d/init.d/apache start
and then get the next error :
Syntax error on line 224 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp3.so into server:
/usr/local/apache/
libexec/libphp3.so: undefined symbol: ifx_module_entry
/usr/local/apache/bin/apachectl start: httpd could not be started
'Pero que co'o es el ifx_module_entry de los coj ...?
.
Sent via Deja.com http://www.deja.com/
Before you buy.
Martin, I will copy here the important parts of my conversation with Mr. Danny Heijl, one of developers of SW in question, to whom we own our gratitude in the first place; As you will see, I was fighting much the same thing (reference to `ifx_module_entry'). It helped me. I will not comment on > IFX_LIBDIR_PATH=3D"-L/usr/informix/lib -L/usr/informix/lib/esql" > IFX_INCDIR=3D"/usr/informix/incl/esql" > IFX_LIBS=3D"/usr/informix/lib/esql/libifasf.a \\ since I'll assume 3D stuff is not really there, and is result of some message transmission related problems. If this still does not help, let me know. My scripts to build this are still available, but this message is already long enough, so I will not attach them. Email me if you want them. Andrej Falout. ------------------------------------------------------------------------- start ------------------------------------------------------------------------ Dear Danny, Thank you very very much. Now I have PHP with Informix support, and JServ in my Apache, working, with all Informix environment. I also have CGI, but strange, no ifx environment. But if mod_php, environment is OK: Obviously, different rules apply for getting environment to be visible to CGI? Thanks again, Yours, Andrej Falout, afalout@csi.co.nz ICQ 7628616 ++64 21 607517 #----------------------------------------------------------------- > -----Original Message----- > From: Danny Heijl > Sent: Friday, 22 October 1999 21:35 > Subject: Re: PHP and Informix > > > Hello Andrej, > > - you can check the PHP/Apache environment with a <? phpinfo(); ?> in your > script. > > - make sure that INFORMIXDIR and INFORMIXSERVER are in the Apache > environment (check with phpinfo()). If they are not, you have a problem. > > - if you start Apache from a bat file, you could always put these > variables > there. > > - if you can't get the environment variables right, you can always use a > putenv() in the PHP scripts to set up INFORMIXDIR/INFORMIXSERVER (but this > not pretty of course). > > - It works for me with Apache 1.3.9 on Windows 95 and the environment > variables in autoexec.bat. > > Best regards, > > Danny. > --- > > ----- Original Message ----- > From: Andrej Falout > To: Danny Heijl > Sent: vrijdag 22 oktober 1999 6:33 > Subject: RE: PHP and Informix > > Dear Danny, > > > > thanks for your suggestion. I now have CGI PHP with Informix support. > > > > But, when I try to connect, I get > > > > Warning: ifx_pconnect : E [SQLSTATE=IX 000 SQLCODE=-461] in > > informix.php3 on line 19 > > ifx_connect : E [SQLSTATE=IX 000 SQLCODE=-461] Unable to load locale > > categories. Can not connect to server > > > > Actually, message "Unable to load locale categories" is from ifx error > > no -23101 > > __________________________________________________________ > > > > Unable to load locale categories. > > > > An invalid locale name has been supplied for the locale > > initialization. The environment variable to specify the locale > > category has a wrong value. Check the value of the corresponding > > environment variable, CLIENT_LOCALE or DB_LOCALE. Also check if > > INFORMIXDIR points to a valid directory where Informix products are > > installed. > > > > If a client application receives this error when it requests a > > database server connection, check that the client and database locales > > are compatible. They are compatible if a valid locale exists on the > > server computer with the name lg_tr.codeset@mod, where lg_tr (language > > and territory) and mod (locale modifier) are from the CLIENT_LOCALE > > and codeset is from the database locale (from the DB_LOCALE, if it is > > set, or as stored in the database). > > __________________________________________________________ > > > > and the quoted error -461 is for "File open error". (It is a little > > confusing to get a error number for SQL and message from ISAM?). Both > > of them make me ask how exactly can I check Informix environment > > variables, like $INFORMIXDIR, from php3 page? > > > > There is no mention anywhere, that I need to set this anywhere in > > Apache environment or conf files, so I guess setting this in > > /etc/profile is enough? Very strange that there is no description in > > the documentation how exactly is PHP getting something like > > $INFORMIXDIR... > > > > Or maybe this error don't have anything to do with this? > > > > Thank you very much, > > > > Yours, Andrej Falout, ICQ 7628616 ++64 21 607517 > > #----------------------------------------------------------------- > > globals "std_disclaimer.4gl" > > > > > -----Original Message----- > > > From: Danny Heijl > > > Sent: Thursday, 21 October 1999 22:05 > > > Subject: Re: PHP and Informix > > > > > > > > > Hello Andrej, > > > > > > At first sight I can see nothing wrong with what you are doing. > > > > > > You can get my own configuration scripts from > > > http://users.pandora.be/danny.heijl > > > > > > They work for RH 5.2 and RH 6.0 + PHP3 3.0.12 + IDS 7.3 + Apache > > 1.3.9. > > > > > > Your problem could be Apache 1.3.6 but I don't know for sure. > > > > > > I always build and test the CGI PHP3 with Informix before I try the > > Apache > > > build. > > > > > > Best regards, > > > > > > Danny. > > > --- > > > > > > ----- Original Message ----- > > > From: Andrej Falout > > > Sent: donderdag 21 oktober 1999 9:47 > > > Subject: PHP and Informix > > > > > > > > > > Dear Informix PHP developers, > > > > > > > > I have a short question for you, and needless to mention, it would > > > > mean a lot to me if you can help me. > > > > > > > > In short, I get: > > > > > > > > modules/php3/libphp3.a(internal_functions.o): In function > > > > `getParametersArray': > > > > /usr/Apache-JServ/php-3.0.12/internal_functions.c:227: undefined > > > > reference to `ifx_module_entry' > > > > > > > > When I try to enable Informix support with my Apache/JServ/PHP. I > > can > > > > successfully make them work together, as long as I don't try to > > add > > > > - --with-informix=yes. > > > > > > > > BTW, there is an error in documentation, in ref.ifx.html, the > > > > "configure --with_informix=yes" should be "configure > > > > - --with-informix=yes". > > > > > > > > I have attached both the script that I'm running to do this > > > > (activate_php_jserv.sh), full output of running this script > > > > (activate.out), and output of my environment (set > > > environment.txt) > > > > > > > > Ifx is IDS 7.3 UC7 LE, and is configured and working. Environment > > is > > > > complete and working. esql/c is 9.16.UC2. Compilation of ifx.ec is > > > > successful. > > > > > > > > RedHat 6, Apache 1.3.6, php 3.0.12, JServ 1.0 > > > > > > > > With great respect, and gratitude, > > > >@