Re: PHP4/Apache on Win95 to remote Oracle
| From: | Steve Farmer | Date: | Fri, 09 Feb 2001 03:36:28 +0000 |
| Subject: | Re: PHP4/Apache on Win95 to remote Oracle | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-6486@lists.php.net to get a copy of this message | ||
Hi Guys,
Not sure what your problem is since i haven't run apache on WIN32....
but tnsping only tells you that the listeners is running, not that you can connect to the database...
Use sql*plus to connect and then you can be sure your Oracle client is installed and configured correctly.
If you have all you environment variables set it should work OK..
BTW i'm not sure if putenv("ORACLE_HOME=D:\PROGRA~1\ORAWIN95"); is ok, i think you should put the full path name in without any ~
or try installing oracle directly on the C: drive so you get a path with no spaces in it
Otherwise it must be something to do with the way php has been compiled ...
if you do a phpinfo() do all the environment variables look OK and is OCI8 support complied ?
I have connected remotely from linux/apahe to a variety of oracle DB's on a variety of remote platforms
HTH
Steve Farmer
At 4:39 PM -0600 8/2/01, Mark Farver wrote:
Please help. I'm going maaddd trying to figure this out. I've pretty much-- --------------------------------------------------- "Minds are like parachutes, they work best when open" Support free speech; visit http://www.efa.org.au/ Heads Together Systems Pty Ltd http://www.hts.com.au Email: hts@hts.com.au Tel: 612 9982 6767 Fax: 612 9981 3081read all of the online docs and spend countless hours reading through the archives.. I'm running PHP4 and Apache on my Win95 computer. I'm trying to connect to a remote Oracle database.I had the same problem last week. Every suggestion I got was about environment variables. However since a tnsping from within PHP (using passthru) works fine I know better. From examining the sqlnet files and watching the resource allocations I came to the conclusion that PHP is hardcoded to connect only to a database located on the same machine (using BEQLOCAL). Oracle never even bothers to read the tnsnames.ora file when its called from PHP. This seems to be only a problem in Windows and possibly only with the Oracle8 drivers. My postings to the dev lists went unanswered but at the time I was unsure if it was a Windows only problem. It might be worth reposting this info to the PHP-WIN list. My boss was very unhappy when I told him my code had to run on a Unix box.. I basically sold him on PHP due to is cross-paltform nature. ODBC might work instead, although it never did for me. Use ADODB or another abstraction layer.. this way you can switch back and forth easier. Let me know if you figure anything else out. Mark Farver mfarver@mindbent.org On Thu, 8 Feb 2001, Jorge Santos wrote:Hi all, I'm getting a "Warning: _oci_open_server: ORA-12203: TNS:unable to connect to destination ..." error message. Yet I know the environment is ok because I can tnsping the database name and I can connect using SQL Plus to the database. Here's the php code: <?php putenv("ORACLE_SID=MDC6");putenv("ORACLE_HOME=D:\PROGRA~1\ORAWIN95");putenv("TNS_ADMIN=D:\PROGRA~1\ORAWIN95\NET80\ADMIN"); $tns = "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL =TCP)(HOST = njnwkora15.db.pseg.com)(PORT = 1527))) (CONNECT_DATA = (SID =MDC6) ) )"; $connect=OCIPLogon("MDC","MDC",$tns) or die("It's not possible to connect"); $sql = "select * from district"; $result =OCIParse($connect,$sql); OCIExecute($result) or die("It's not possible to query"); echo("<TABLE>"); while(OCIFetch($result)) {-- "The greatest dangers to liberty lurk in insidious enroachment by mean of zeal, well-meaning but without understanding." -- Justice Louis O. Brandeis, Olmstead vs. United States -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-db-unsubscribe@lists.php.net For additional commands, e-mail: php-db-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net$CC = OCIResult($result,1); $CCNome = OCIResult($result,2); echo('<TR><TD>' . $CC . '</TD><TD>' . $CCNome . '</TD></TR>');} echo("</TABLE>"); ?> I shouldn't need to declase $tns above but I've tried with and without it. I'm also including the ORACLE_SID, ORACLE_HOME and TNS_ADMIN variables in the autoexec.bat so that they are declared as of machine bootup. I also added them to the httpd.conf for Apache configuration like this: SetEnv ORACLE_SID MDC6 SetEnv ORACLE_HOME D:\PROGRA~1\ORAWIN95 SetEnv TNS_ADMIN D:\PROGRA~1\ORAWIN95\NET80\ADMIN Please help.... Before I switch to ASP... Later, Jorge santos@net-lynx.com