ID: 26829 Updated by: [EMAIL PROTECTED] Reported By: david dot gaia dot kano at dartmouth dot edu -Status: Feedback +Status: Verified Bug Type: OCI8 related Operating System: Compaq Unix PHP Version: 4.3.4
Previous Comments: ------------------------------------------------------------------------ [2004-01-07 20:14:23] [EMAIL PROTECTED] 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 AFAICT, the function does check if persistent connection is still alive (using oci_ping())..but did you mean the connection is killed while the script is being run or what? ------------------------------------------------------------------------ [2004-01-07 11:36:45] david dot gaia dot kano at dartmouth dot edu Description: ------------ Here at Dartmouth our DBA team has a policy of killing any Oracle session that has been connected for longer than 24 hours. Hence the persistant connections created by the PHP OCIPLogon() call get killed once a day. We don't really want to restart our apache server once a day, so it would be great if OCIPLogon() would check to see that a previously created persistant connection is still good somehow and if not, create a new connection. I noticed quite a few bugs along these lines, but they have all been closed. I don't know if that is because this bug was fixed or because the submitters have continued to restart their servers after every database restart or killed connection. If this is not going to be fixed, I guess we would have to write our own application level code to check the connections from ociplogon() and if it is bad, use OCILogon() instead for that request and issue a apache_child_terminate() call so that eventually all the children with bad oracle sessions would be restarted... Reproduce code: --------------- $con = OCIPLogon("user", "password", "tns_db_name"); // at this point all looks good still... $con != false // but if this session was killed then any use of $con // results in one error or another. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=26829&edit=1