|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #2045 I can't use PHP3 with informix IDS7.3UC5
Submitted: 1999-08-12 23:47 UTC Modified: 1999-08-28 15:07 UTC
From: musica98 at chollian dot net Assigned: danny (profile)
Status: Closed Package: Other
PHP Version: 3.0.12 OS: Redhat5.2(2.0.36)
Private report: No CVE-ID: None
 [1999-08-12 23:47 UTC] musica98 at chollian dot net
I'm user of Redhat5.2(2.0.36) + IDS7.3-UC5 + MYSQL + PHP3.0.12

I want use PHP3 with IDS7.3.
but, I have error using PHP3 with IDS7.3.
first, my install method is following
My informixuser & root's .bash_profile
export PATH=/usr/local/jdk1.2/bin:$PATH
export PATH=/home/informix/bin:$PATH:$HOME/bin
export INFORMIXDIR=/home/informix
export TERMCAP=$INFORMIXDIR/etc/termcap
export DBLANG=ko_Kr.ksc
My install command  (and I'm use IMAP function)
php & apache's source extract into /usr/local
1. cd apache1.3.6
2. ./configue --prefix=/www
3. cd ../php-3.0.12
4. ./configure --with-mysql=/usr/local/mysql --with-informix=yes --with-apache=../apache1.3.6 --with-imap=yes --enable-track-vars
5. make
6. make install
7. cd ../apache_1.3.6
8. ./configure --prefix=/www --activate-module=src/modules/php3/libphp3.a
9.  make
10. make install
11. Configuration httpd.conf php3.ini
12. Starting IDS7.3 (oninit)
13. Starting Apache

I have no error.
I checked following source

1. I checked INFORMIX section.
|           |                                        | 
|	    |Allow persistent links: Yes             | 
|	    |Persistent links: 0/Unlimited           | 
|  informix |Total links: 0/Unlimited                | 
|	    |Client API version: 7.20                | 
|	    |Compilation definitions: IFX_INCLUDE=   | 
|	    |     		      IFX_LFLAGS=    | 
|	    |		              IFX_LIBS=      | 

2. I checked stores7 Database following source.
   (My informix servername = linux)
$connect=ifx_connect( "stores7@linux", "informix", "*******");

$res_id = ifx_query("
select o.order_num, i.total_price 
from orders o, items i 
where o.order_num = i.order_num 
", $connect); 

if (!$res_id) { 
printf("Can't select orders : %s\n<br>%s<br>\n", 
ifx_errormsg()) ; 

ifx_htmltbl_result($res_id, "border=1"); 

but I get follow result.
Warning: ifx_pconnect : E [SQLSTATE=IX 000 SQLCODE=-922] in /home/musica/www/index.html on line 3

Warning: ifx_query : 0 (type -1) is not a Informix link index in /home/musica/www/index.html on line 9
Can't select orders : E [SQLSTATE=IX 000 SQLCODE=-922] 
Cannot get name of current working directory. 

I don't know my mistake.

I used informix+php3 at home(Redhat 6.0(2.2.5)+IDS7.3-UC7 + MYSQL + PHP3.0.11)
It's good.
But at school Redhat5.2(2.0.36) + IDS7.3-UC5 + MYSQL + PHP3.0.12
It's don't run.

Please help me.
Thanks your try.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [1999-08-13 12:31 UTC] danny at cvs dot php dot net
 finderr -922
-922    Cannot get name of current working directory.

"A problem exists with the current working directory on this system or
on another computer system that your application is using. Possibly
your account does not have read access to the directory, or possibly
the file system that contains it is improperly mounted. Exit your
application, and retry. If the problem persists, see your system
administrator for assistance."

This suggests that you have a problem with the file/directory access
 permissions for the Apache httpd user/group (nobody:nobody ??).
Make sure that the Apache user has read/write access to /tmp, and read 
access to $INFORMIXDIR, and that this user has connect permission on the stores7
database. Let me know if this solves your problem.

 [1999-08-14 09:15 UTC] danny at cvs dot php dot net
>Thanks for your response
>But I don't understand your explain.
>I'm checked phpinfo()
>A. ---------------------
>My home's computer   : Redhat6.0 + php3.0.11 + ids7.3uc7 >(Using php with ids very well)
>	Allow persistent links: Yes 
>	Persistent links: 0/Unlimited 
>	Total links: 0/Unlimited 
>	Client API version: 7.20 
>	Compilation definitions: IFX_INCLUDE=-I/home/informix/incl/esql
>	IFX_LFLAGS=-L/home/informix/lib ->L/home/informix/lib/esql
>	IFX_LIBS=-lifsql -lifasf -lifgen -lifos -lifgls ->ldl -lcrypt /home/informix/lib/esql/checkapi.o -lifglx 
>B. ---------------------
>My school's computer : Redhat5.2 + php3.0.12 + ids7.3uc5 (Using php with ids problem!!)
>	Allow persistent links: Yes 
>	Persistent links: 0/Unlimited 
>	Total links: 0/Unlimited 
>	Client API version: 7.20 
>	Compilation definitions: IFX_INCLUDE=
>See the cheked phpinfo()'s INFORMIX section..
>Difference A and B.
>Variable [Compilation definitions, IFX_LFLAGS and >IFX_LIBS] is defiened in my home's computer.
>This is variable that where defiene?
>Thanks for your kind.
>my directory permision is
>drwxrwxrwt     tmp/
>drwxr-xr-x     /home/informix/

I don't know why php 3.12 does not show the IFX_LIBS and 
IFX_INCL environment variables. They are compiled in as 
constants set by the make process. Perhaps someone changed 
the make process for 3.12, I will check.

Make sure that INFORMIXSERVER and INFORMIXDIR are set in the
environment of the Apache httpd process, (phpinfo() should
show them).

Also make sure that $INFORMIXDIR/bin is in the PATH for 
your httpd.

And please do not create new bug reports for this problem,
if you can't update this one, just e-email me 
( and I will try to help you.



 [1999-08-14 09:31 UTC] danny at cvs dot php dot net
I've checked and the absence of IFX_LIBS and IFX_INCL in phpinfo() 
is not relevant, they seem to have gone since 3.012 build process. 

I have PHP 3.012 + Apache 1.3.6 + IDS 7.3UC running fine here.
I will remove the IFX_LIBS and IFX_INCL printouts from phpinfo(), as
they are not available in php4 either.

Have you checked the connect rights to the database for the Apache
httpd user (normally user=nobody group=nobody) ?
 [1999-08-15 05:57 UTC] danny at cvs dot php dot net
>Have you checked the connect rights to the database for the Apache
>httpd user (normally user=nobody group=nobody) ?

Sorry, this is wrong, what I mean is that the "nobody" user 
has to be able to start a program that is linked with the
Informix EQQL/C libraries. 

Make sure that your httpd startup script sets INFORMIXDIR, 
INFORMIXSERVER and PATH, and that user "nobody" has rx rights to $INFORMIXDIR and all it's subdirectories.
Best way to test this is to temporarily allow "nobody" a 
login shell, set up your Informix environment variables,
and try to run "dbaccess".


 [1999-08-28 15:07 UTC] danny at cvs dot php dot net
Looks like the problem is solved.
PHP Copyright © 2001-2023 The PHP Group
All rights reserved.
Last updated: Sat Apr 01 21:03:46 2023 UTC