logon denied using OCIlogon, PHP4, Oracle 8.1.5/Linux

From: Date: Wed, 19 Jul 2000 11:26:58 +0000
Subject: logon denied using OCIlogon, PHP4, Oracle 8.1.5/Linux
Groups: php.db 
Request: Send a blank email to php-db+get-1270@lists.php.net to get a copy of this message
Hi, I'm evaluating PHP4.0.1pl2 versus Coldfusion4.5.1 with Apache/Oracle/Linux. Everything is going swimmingly except for one minor problem connecting to Oracle using PHP4's OCIlogon function. I get invalid username/password; logon denied. However, I can connect using this username@database/password with SQL*Plus, Coldfusion, Perl:DBI and even remotely using Access2000/Oracle ODBC driver, but not PHP4 (or 3 for that matter). My TNSNAMES.ORA and LISTENER.ORA files are for a default o8i install, Oracle environment variables are set for all users including www and I've tried adding the www user to the oracle group. Finally, I've searched the lists, read the manual and tried every possible combination of service name, database name and instance. Details follow. Any suggestions greatly appreciated. Thanks. Mike. ------------------------------------------------------------------------ My test script: <? $conn = ocilogon( "username@oracle-linux", "passwd", "oracle-linux") or die; $stmt = ocipars($conn, "SELECT * FROM STAFF_TBL") or die; ociexecute($stmt); echo "<HTML><PRE>\n"; while (ocifetch($stmt)) { print "\n"; $ncols = ocinumcols($stmt); for ( $i = 1; $i <= $ncols; $i++ ) { $column_name = ocicolumnname($stmt,$i); $column_value = ociresult($stmt,$i); print $column_name . ': ' . $column_value . "\n"; } print "\n"; } ocifreestatement($stmt); ocilogoff($conn); echo "</PRE></HTML>\n"; ocilogoff($handle); ?> The Errors: ---------- Warning: OCISessionBegin: ORA-01017: invalid username/password; logon denied in oracle_test.php3 on line 3 I get the same error when I ommit the optional 3rd parameter (apparently using ORACLE_SID=v8i815 from the environment variables). using... $conn = ocilogon( "username", "passwd", "oracle-linux") or die; I get... Warning: OCISessionBegin: ORA-12705: invalid or unknown NLS parameter value specified in oracle_test.php3 on line 3 and finally using... $conn = ocilogon( "username", "passwd", "myservicename") or die; I get... Warning: _oci_open_server: ORA-12154: TNS:could not resolve service name in oracle_test.php3 on line 3 ------------------------------------------------------------------------ # TNSNAMES.ORA Configuration File:/u01/app/oracle/product/8.1.5/network/admin/tnsnames.ora # Generated by Oracle Net8 Assistant oracle-linux = (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS =
        (PROTOCOL = TCP)
        (HOST = 255.255.255.255) # can't disclose actual i.p. address here!
        (PORT = 1521)
      )
    )
    (CONNECT_DATA =
      (SERVICE_NAME = myservicename)
    )
) ------------------------------------------------------------------------ # LISTENER.ORA Configuration File:/u01/app/oracle/product/8.1.5/network/admin/listener.ora # Generated by Oracle Net8 Assistant LISTENER = (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS =
        (PROTOCOL = TCP)
        (HOST = 255.255.255.255) # can't disclose actual i.p. address here!
        (PORT = 1521)
      )
      (PROTOCOL_STACK =
        (PRESENTATION = TTC)
        (SESSION = NS)
      )
    )
) SID_LIST_LISTENER = (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = myservicename) # same as SERVICE_NAME in TNSNAMES.ORA.
      (ORACLE_HOME = /u01/app/oracle/product/8.1.5)
      (SID_NAME = v8i815)
    )
) ------------------------------------------------------------------------ Site Info: OS: Red Hat Linux 6.1, 2.2.12-20, Intel. HTTP server: Apache/1.3.9 (Unix) PHP/4.0.1pl2 Loaded Modules: mod_php4, mod_setenvif, mod_auth_db, mod_auth_dbm, \ mod_auth, mod_access, mod_alias, mod_userdir, \ mod_actions, mod_imap, mod_asis, mod_cgi, \ mod_dir, mod_autoindex, mod_include, mod_status, \ mod_negotiation, mod_mime, mod_log_referer, \ mod_log_agent, mod_log_config, mod_env, http_core PHP 4.0.1pl2 (linked as static Apache module). ./configure --with-apache=/usr/local/apache \ --with-mysql=/usr/local/mysql \ --with-GD=/usr/local/gd1.2 \ --with-oracle=/u01/app/oracle/product/8.1.5 \ --with-oci8=/u01/app/oracle/product/8.1.5 \ --enable-sigchild \ --with-wddx \ --with-xml <? echo phpinfo() ?> says: oracle Oracle Support: enabled Oracle Version: 8.1 Compile-time ORACLE_HOME: /u01/app/oracle/product/8.1.5 Libraries Used: oci8 OCI8 Support: enabled Oracle Version: 8.1 Compile-time ORACLE_HOME: /u01/app/oracle/product/8.1.5 Libraries Used: Oracle Info: Oracle 8.1.5.0.2 SQL*Plus 8.1.5.0.0 Environment Variables (set for users root and www (apache runs as www)) ORACLE_OWNER=oracle8i ORACLE_SID=v8i815 ORACLE_HOME=/u01/app/oracle/product/8.1.5 ORACLE_BASE=/u01/app/oracle NLS_LANG='english_united kingdom.we8iso8859p1' ORA_NLS33=$ORACLE_HOME/ocommon/nls/adm Hardware: 300Mhz AMD K6-2, 256M Ram, 2 x 9gig IDE drives. ------------------------------------------------------------------------

« previous php.db (#1270) next »