David: I had this same problem and found several approaches to solving the problem in the user contributed notes section of http://www.php.net/manual/en/function.ocilogon.php.
They all boil down to: 1. Is the Listener started? In your case, it appears so because you can TNSPing the Oracle server. 2. Is ORACLE_HOME and ORACLE_SID defined for the Apache user (usually nobody)? Fixing this sometimes is a matter of adding environment variables into httpd.conf or adding the user to the oracle group. Don't forget to stop and start Apache... 3. Does your Apache user have permissions to see ORACLE_HOME? 4. There is also some stuff about defining a php variable with the connect information from tnsnames.ora. I've never actually had to use this method; the above troubleshooting steps always took care of things for me. Good luck, Anthony Carlos > From: Rao Davide <[EMAIL PROTECTED]> > Date: Fri, 26 Oct 2001 11:14:47 +0200 > To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> > Subject: [PHP-DB] problems with php and oracle .... > > For developement reasons (oracle realted) I hadto abandone mod_php.tgz (php > 4.0.5) package delivered with slackware 8.0 and use php 4.0.6 so I.m > currently working with: > php 4.0.6 and apache 1.3.20 ona a slackware 8.0 (with kernel 2.2.19). > > At first I recompiled php 4.0.6 with exact same options of original package > ( got oprions from phpinfo() ) and all went fine. > I then decided to try adding oracle database support. > I recompiled apache to be linked against libpthread (as told to do so from > erlier bug report related to oracle & sybase) with not little effort since > apache's configure does not ponder such action!: > > root@extensa:~# ldd /usr/sbin/httpd > libm.so.6 => /lib/libm.so.6 (0x40020000) > libcrypt.so.1 => /lib/libcrypt.so.1 (0x40042000) > libdb.so.3 => /lib/libdb.so.3 (0x40070000) > libdl.so.2 => /lib/libdl.so.2 (0x400c3000) > libpthread.so.0 => /lib/libpthread.so.0 (0x400c7000) > libc.so.6 => /lib/libc.so.6 (0x400dd000) > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) > > Had some trouble with "--with-mm=/usr" option which is enabled per default > on mpd_php.tgz package for slackware > while trying to start apache got this error: "/usr/libexec/libphp4.so: > undefined symbol: mm_create" > So I temporarely removed it to get oracle working. > > This ti what I did: > > export LD_LIBRARY_PATH=/ora/app/oracle/product/8.0.5/lib:/usr/lib:/lib > export LD_RUN_LIBRARY_PATH=/ora/app/oracle/product/8.0.5/lib:/usr/lib:/lib > make clean > rm config.cache > ./configure --prefix=/usr --with-apxs=/usr/sbin/apxs --with-mod_charset > --enable-force-cgi-redirect --enable-discard-path --with-con > fig-file-path=/etc/apache --enable-safe-mode --with-openssl --enable-bcmath > --with-bz2 > --enable-calendar --enable-ctype --with-gdbm > --enable-ftp --enable-gd-imgstrttf --with-gd=/usr/src/gd-1.8.2 > --with-jpeg-dir=/usr/src/gd-1.8.2 --with-png-dir --with-gmp --with-my > sql=/usr --with-xml=shared --with-readline=/usr --enable-trans-sid > --enable-shmop > --enable-sockets --with-regex=php --enable-sysvsem > --enable-sysvshm --enable-yp --enable-memory-limit --with-tsrm-pthreads > --enable-shared > --disable-debug --with-zlib=/usr --with-ora > cle=/opt/ora_syb/ora/app/oracle/product/8.0.5 > > this stage went successfully with no ATTENTION message & no errors produced > in > debug.log so I went ahead and compiled & installed: > > make > /usr/sbin/apachectl stop > make install > > root@extensa:~# ldd /usr/libexec/libphp4.so > libdl.so.2 => /lib/libdl.so.2 > libreadline.so.4 => /usr/lib/libreadline.so.4 > libhistory.so.4 => /usr/lib/libhistory.so.4 > libncurses.so.5 => /lib/libncurses.so.5 > libclntsh.so.1.0 => > /opt/ora_syb/ora/app/oracle/product/8.0.5/lib/libclntsh.so.1.0 > libm.so.6 => /lib/libm.so.6 > libnsl.so.1 => /lib/libnsl.so.1 > libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 > libz.so.1 => /usr/lib/libz.so.1 > libgmp.so.3 => /usr/lib/libgmp.so.3 > libpng.so.2 => /usr/lib/libpng.so.2 > libjpeg.so.62 => /usr/lib/libjpeg.so.62 > libgdbm.so.2 => /usr/lib/libgdbm.so.2 > libbz2.so.1.0 => /lib/libbz2.so.1.0 > libcrypt.so.1 => /lib/libcrypt.so.1 > libssl.so.0 => /usr/lib/libssl.so.0 > libcrypto.so.0 => /usr/lib/libcrypto.so.0 > libresolv.so.2 => /lib/libresolv.so.2 > libc.so.6 => /lib/libc.so.6 > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 > > Apache restarted ok and php seamed to work ok but as I made a very simple > function to start testing if I could query an oracle instance I ran into > trouble: > > function oraconnect_test($a,$b) { > $conn = Ora_Logon("system@orcl","manager"); > $string = Ora_Error ($conn); > print "$string"; > ora_logoff ($conn); > } > > Every time I run this function I get one more defunct httpd process a some > warning messages from php: > > Warning: Oracle: Connection Failed: Error while trying to retrieve text for > error > ORA-12154 in /home/httpd/html/cpr/functions.php on line 223 > > Warning: Supplied argument is not a valid Oracle-Connection/Cursor resource > in > /home/httpd/html/cpr/functions.php on line 225 > > Warning: Supplied argument is not a valid Oracle-Connection resource in > /home/httpd/html/cpr/functions.php on line 228 > > > > According to oracle ORA-12154 means: > 12154, 00000, "TNS:could not resolve service name" > // *Cause: The service name specified is not defined correctly in the > // TNSNAMES.ORA file. > // *Action: Make the following checks and correct the error: > // - Verify that a TNSNAMES.ORA file exists and is in the proper > // place and accessible. See the operating system specific > manual > // for details on the required name and location. > // - Check to see that the service name exists in one of the > // TNSNAMES.ORA files and add it if necessary. > // - Make sure there are no syntax errors anywhere in the file. > // Particularly look for unmatched parentheses or stray > characters. > // Any error in a TNSNAMES.ORA file makes it unusable. See > // Chapter 4 in the SQL*Net V2 Administrator's Guide. If > // possible, regenerate the configuration files using the Oracle > // Network Manager. > > but my tnsnames is ok: > oracle@extensa:~# tnsping orcl > > TNS Ping Utility for Linux: Version 8.0.5.0.0 - Production on 26-OCT-01 > 09:29:51 > > (c) Copyright 1997 Oracle Corporation. All rights reserved. > > Attempting to contact (ADDRESS=(PROTOCOL=TCP)(Host=linux)(Port=1521)) > OK (60 msec) > > Has anybody got any suggestions ? > Davide RAO > Database Administrator Group > SchlumbergerSema > E-mail: [EMAIL PROTECTED] > Tel: +39125 508765 > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]