RE: PHP 5.0.3 and Oracle9i on Windows 2000/Apache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I agree with your theory of the possibility that the cli version of php is
using a different ini file than the
apache2 module/cgi.  I have no clue as to how to confirm that or to correct
it though, and advice there?

I do restart Apache anytime I make config changes, hasn't seemed to have
helped at all.

The putenv seems to work just dandy as the script worked fine from the
command line either wheather the putenv(s) were commented out or not.

Thanks,
Chaun

-----Original Message-----
From: Jochem Maas [mailto:jochem@xxxxxxxxxxxxx]
Sent: Monday, January 17, 2005 10:48 AM
To: Chaun Keating
Cc: php-db@xxxxxxxxxxxxx
Subject: Re:  PHP 5.0.3 and Oracle9i on Windows 2000/Apache


Chaun Keating wrote:
> I am having trouble logging onto Oracle via PHP on a Windows 2000 machine.
>
> I keep getting the error:
>
> Fatal error: Call to undefined function OCILogon() in C:\Program
> Files\Apache Group\Apache2\htdocs\oraconnect.php on line 15
>
> I seem to have everything set up correctly.  I am running an Oracle 9i
> client and have set up the php.ini file with "extension=php_oci8.dll"
> uncommented, left ";extension=php_oracle.dll" commented. (Although I have
> tried various combinations of these two.  Also I have set the
"extension_dir
> = C:\Program Files\PHP\ext" correctly and noted that php_oci8.dll and
> php_oracle.dll exist there.
>
> Now here is where it gets really weird and I could use some help:
>
> It works fine from the command line:

possibly the cli version of php is using a different ini file than the
apache2 module/cgi. also you made need to restart apache in order to
reread the php.ini file.

with regard to putenv() - you may be suffering from safe_mode being on.

also, (I don't know this!), if putenv is setting env vars whose scope is
server-process wide then concurrent scripts _maybe_ messing each other
up: e.g.  request1 starts and does some putenv()s, request2 does the
same a fraction later, request1 finishes and resets stuff done by
putenv(), request2 trys to connect...which fails because the env vars
are empty.

>
> I type "php oraconnect.php" for the following code:
> <?php
> //putenv("ORACLE_SID=TESTDB");
> //putenv("ORACLE_HOME=C:/oracle/ora92");
> //putenv("TNS_ADMIN=C:/oracle/ora92/network/admin");
> $username = "SCOTT";
> $passwd = "TIGER";
> //$db="(DESCRIPTION=
>  //          (ADDRESS_LIST=
>   //           (ADDRESS=(PROTOCOL=TCP)
>    //            (HOST=orahostname1)(PORT=1621)
>     //         )
>      //      )
>   //           (CONNECT_DATA=(SERVICE_NAME=TESTDB))
>    //  )";
> $conn = OCILogon("SCOTT","TIGER","TESTDB");
> if (!$conn)
> {
>    echo "Connection failed";
>    echo "Error Message: [" . OCIError($conn) . "]";
>    exit;
> }
> else
> {
>    echo "Connected!";
> }
> ?>
>
>
> It works either way with the env_variables in the script or with them
> commented out from the command line.  I just can't get it to work from the
> browser.
>
> Can anyone out there help me with this one?  I have some experience with
> Oracle, Perl, and a little Java but not so much with PHP.
>
> Thanks.
>

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux