ID: 16502 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Feedback Bug Type: OCI8 related Operating System: RedHat 7.2 PHP Version: 4.1.2 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Previous Comments: ------------------------------------------------------------------------ [2002-04-15 10:51:37] [EMAIL PROTECTED] Hello, I've tested your solution. This is very elegant! It's working perfectly for Oracle8i database and not working for Oracle7 database. We use Oracle8i clients and listeners. When PHP tries to connect to Oracle7 through Oracle8i client and Oracle8i listener with mentioned above settings, OCIPLogon throws following error: ORA-03115: unsupported network datatype or representation I have another solution but I'm not sure that is "proper" one. I've uncommented call for 'oci_ping' in oci8.c file (rows 2375 - 2361, right after text "XXX ini-flag" in the _oci_open_server function). I understand that it has "price" equals to OCIServerVersion call per each logon. But in case of Oracle7 I don't see solutions so far. Just couple questions left: 1. Is it really proper way for the problem? 2. If it is, Can it be incorporated in coming release? Thanks a lot, Boris ------------------------------------------------------------------------ [2002-04-15 08:55:42] [EMAIL PROTECTED] Thanks! I'm gonna try it. ------------------------------------------------------------------------ [2002-04-13 09:21:19] [EMAIL PROTECTED] hack: change your tnsnames.ora to include a failover to the same db. PROD=( DESCRIPTION=( ADDRESS=(PROTOCOL=TCP)(Host=127.0.0.1)(Port=1521)) (CONNECT_DATA=(SID=PROD)(failover_mode=(backup=PROD)(type=session)(method=basic)(retry=100)(delay=60))) ) this will make the Net8 client to reconnect automagically ------------------------------------------------------------------------ [2002-04-13 09:20:49] [EMAIL PROTECTED] hack: change your tnsnames.ora to include a failover to the same db. PROD=( DESCRIPTION=( ADDRESS=(PROTOCOL=TCP)(Host=127.0.0.1)(Port=1521)) (CONNECT_DATA=(SID=PROD)(failover_mode=(backup=PROD)(type=session)(method=basic)(retry=100)(delay=60))) ) this will make the Net8 client to reconnect automagically ------------------------------------------------------------------------ [2002-04-08 23:16:52] [EMAIL PROTECTED] Hello, I have an issue between PHP and Oracle. As soon as I have to restart database I have to do same for Apache. If I will not do that my session will retrieve error message about "end-of-file coonection". I agree that some of child processes in Apache can be in this status. But I guess, that it is possible to track that OCIPLogon tries to connect to DB through dead connection. That can trigger whole "connection process" to run again. It is better than wait for administrator to restart whole web server. I prefer OCIPLogon for small SELECT's because of performance issue. I tried to solve this issue with apache_child_terminate() but received message that it is disabled somehow (I even have no idea how to enable it) My environment is: RedHat 6.1 / 7.2 Apache 1.3.23 PHP 4.1.2 (--with-oci8) Oracle 8.1.5 client remote Oracle7 and Oracle8.1.5 databases Thanks for any advise, Boris [EMAIL PROTECTED] ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16502&edit=1
