#29444 [Fbk-Opn]: Crash attemping to connect Oracle via oci8 when database is not mounted
ID: 29444 User updated by: oguilloux at sopragroup dot com Reported By: oguilloux at sopragroup dot com -Status: Feedback +Status: Open Bug Type: OCI8 related Operating System: Windows 2000 SP4 PHP Version: 5.0.0 Assigned To: tony2001 New Comment: Thank's ! It's work well now with the new distribution on my crash script test (using OCIParse function). But, when I use my real PHP site using AdoDB for PHP to connect to Oracle with oci8, it's still crash PHP.exe. I will look about it and search why and where it crashed. Previous Comments: [2004-08-13 17:43:34] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip [2004-08-03 15:41:41] oguilloux at sopragroup dot com With this code (below) only, my PHP5 (cli version) doesn't terminate properly. (The program did not finish, it seem to wait about something that never happens). = It's seem to be OCIParse which doesn't work. When I use comments on this line code, the script finish and not when I use the command. $argDatabasename = 'PNGRS24'; $todo = (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=RS24.PA.SOPRA)(PORT=1542))(CONNECT_DATA=(SID=$argDatabasename))); $cn = OCILogon('SYSTEM','MANAGER', $todo); $stmt = OCIParse($cn,select * from cols); $res = OCIExecute($stmt); ocilogoff($cn); [2004-08-03 02:12:27] cjbj at hotmail dot com Can the filer give a better testcase? Does the DB have to be unmounted? Does ADOdb have to be used? [2004-07-29 17:53:44] oguilloux at sopragroup dot com There's a strange stuff : If I only use, the function oci8 oci_logon even if the database is not connected, it's works. But when I combine pure oci8 functions with ADO-DB (http://php.weblogs.com) for PHP (which is useful to be database independant). I use the version V3.00 6 Jan 2003 of PHP AdoDB. May be, with the new Object feature, it could be create some problems ? The most strange thing is that oracle functions work good. I have tested the AdoDB 4.51 for PHP, but PHP still crash. [2004-07-29 16:01:25] [EMAIL PROTECTED] Yes, probably other suggestions will appear when I can reproduce it myself. ATM I can see only predictable warning and nothing more. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/29444 -- Edit this bug report at http://bugs.php.net/?id=29444edit=1
#29444 [Fbk-Opn]: Crash attemping to connect Oracle via oci8 when database is not mounted
ID: 29444 User updated by: oguilloux at sopragroup dot com Reported By: oguilloux at sopragroup dot com -Status: Feedback +Status: Open Bug Type: OCI8 related Operating System: Windows 2000 SP4 PHP Version: 5.0.0 New Comment: 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 ! Previous Comments: [2004-07-29 15:24:30] [EMAIL PROTECTED] 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 0x0008. 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=29444edit=1
#29444 [Fbk-Opn]: Crash attemping to connect Oracle via oci8 when database is not mounted
ID: 29444 User updated by: oguilloux at sopragroup dot com Reported By: oguilloux at sopragroup dot com -Status: Feedback +Status: Open Bug Type: OCI8 related Operating System: Windows 2000 SP4 PHP Version: 5.0.0 New Comment: There's a strange stuff : If I only use, the function oci8 oci_logon even if the database is not connected, it's works. But when I combine pure oci8 functions with ADO-DB (http://php.weblogs.com) for PHP (which is useful to be database independant). I use the version V3.00 6 Jan 2003 of PHP AdoDB. May be, with the new Object feature, it could be create some problems ? The most strange thing is that oracle functions work good. I have tested the AdoDB 4.51 for PHP, but PHP still crash. Previous Comments: [2004-07-29 16:01:25] [EMAIL PROTECTED] Yes, probably other suggestions will appear when I can reproduce it myself. ATM I can see only predictable warning and nothing more. [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] [EMAIL PROTECTED] 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 0x0008. 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=29444edit=1