#29444 [Opn->Fbk]: Crash attemping to connect Oracle via oci8 when database is not mounted

From: Date: Thu, 29 Jul 2004 14:01:25 +0000
Subject: #29444 [Opn->Fbk]: Crash attemping to connect Oracle via oci8 when database is not mounted
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-63762@lists.php.net to get a copy of this message
ID: 29444 Updated by: tony2001@php.net Reported By: oguilloux at sopragroup dot com -Status: Open +Status: Feedback Bug Type: OCI8 related Operating System: Windows 2000 SP4 PHP Version: 5.0.0 New Comment: Yes, probably other suggestions will appear when I can reproduce it myself. ATM I can see only predictable warning and nothing more. Previous Comments: ------------------------------------------------------------------------ [2004-07-29 15:33:25] oguilloux at sopragroup dot com Thank's ! sorry, but why it works with oci8/PHP4 and not with oci8/PHP5 ? I don't believe that the cause is my Oracle client. I often do EXP, IMP and SQLPLUS with my oracle 8 on oracle 9 database without any troubles. I restore my config to works with PHP4/oci8 and my web site works without any problem. The only change was to reconfig apache to use PHP4. The more strange feature is that PHP5/oracle extention works better than oci8. Have you another suggestion to try ? Thank's ! ------------------------------------------------------------------------ [2004-07-29 15:24:30] tony2001@php.net >My oracle client is 8.1.7 and I wish connected to a Oracle 9.2.0.4 database. That's weird and can be the reason. Try to update your client - I can't reproduce this under WIn2k, Oracle 9.2.0.4/Client 9.2.0.4. ------------------------------------------------------------------------ [2004-07-29 15:12:59] oguilloux at sopragroup dot com Description: ------------ Using oci8 extention for connecting Oracle Database crash PHP (with and without Apache) when SID isn't found. I'm working with PHP 5 (13 july version), Win 2K SP4. My oracle client is 8.1.7 and I wish connected to a Oracle 9.2.0.4 database. In PHP4, I had no problems in oci8, but now, PHP crash. The SOLUTION is to use oracle extention which work even if database has some trouble. In my PHP.INI, I use : extension=php_gd2.dll extension=php_oracle.dll extension=php_oci8.dll extension=php_sockets.dll extension=php_mbstring.dll extension=php_zip.dll Reproduce code: --------------- $argDatabasename = 'PNGRS24'; $cn = OCILogon('SYSTEM','MANAGER', "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=RS24.PA.SOPRA)(PORT=1542))(CONNECT_DATA=(SID=$argDatabasename)))"); // BUT with ORACLE_LOGON() (not oci8) it's work ! Expected result: ---------------- That oci8 does work as well as oracle extention in PHP 5 Actual result: -------------- (IN EVENTVIEWER, WITH LOG IN SYSINFO) FOR APACHE 1.3.29 / PHP5 ------------------------ Application popup : apache.exe - Erreur d'application : L'instruction à "0x01822456" emploie l'adresse memoire "0x00000008". La memoire ne peut pas etre "read". WITH PHP5 logs -------------- PHP Warning: ociplogon() [<a href='function.ociplogon'>function.ociplogon</a>]: _oci_open_server: ORA-12514: TNS : le listener n'a pas pu resoudre le SERVICE_NAME figurant dans le descripteur de connexion in c:\work\WEB\LookSGBD.php on line 31. IN DEBUGGER ----------- My debugger tell me that it's crashed on php_oci8.dll at this code line (stack): 01492456 cmp dword ptr [eax+8],2 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29444&edit=1

« previous php.bugs (#63762) next »