I created a patch for http://bugs.php.net/bug.php?id=29779 (which can be considered as a feature request more than a bug).
Rather than pinging existing connection each time, which would slow down things too much for high traffic sites, the patch pings connections only every x seconds. Considering this problem occurs when a firewall drops idle connections after let's say one hour of inactivity, I think this is a fine solution.
I added a php.ini variable : oci8.ping_freq (if not set, oci8 works like before). The code adds a last_ping timestamp to the server struct, and pings when ping_freq > 0 && (time(NULL) - last_ping) > ping_freq. It otherwise uses the commented oci_ping call.
The patch (against CVS/5.0 branch) can be found at :
http://www.jeuxdecartes.net/static/oci8.ping_freq.patch
Hope you'll find this patch ok, and will include it in future releases of 5.0.
Jean-François Bustarret
eTF1 - http://www.tf1.fr
Le present message (y compris tous les elements attaches) est confidentiel et est destine a ses seuls destinataires. Si vous
l'avez recu par erreur, merci de l'indiquer a son expediteur par retour et de proceder a sa destruction dans vos systemes.
Toute utilisation ou diffusion non autorisee de son contenu, en totalite ou en partie, est strictement interdite. Les idees et
opinions presentees dans ce message sont celles de son auteur, et ne representent pas necessairement celles de TF1 (et/ou des
entites membres du Groupe TF1).
This message (including any attachments) is confidential and may be privileged. If you have received it by mistake please notify
the sender by return email and delete this message from your system. Any unauthorised use or dissemination of this message in
whole or in part is strictly prohibited. Any views or opinions presented are solely those of its author and do not necessarily
represent those of TF1 (and/or its group companies).
Hello Jean-Francois!
On Mon, 18 Jul 2005 10:08:10 +0200
"BUSTARRET, Jean-Francois" JFBUSTARRET@tf1.fr wrote:
I created a patch for http://bugs.php.net/bug.php?id=29779 (which can be considered as a feature request more than a bug).
Rather than pinging existing connection each time, which would slow down things too much for high traffic sites, the patch pings connections only every x seconds. Considering this problem occurs when a firewall drops idle connections after let's say one hour of inactivity, I think this is a fine solution.
I added a php.ini variable : oci8.ping_freq (if not set, oci8 works like before). The code adds a last_ping timestamp to the server struct, and pings when ping_freq > 0 && (time(NULL) - last_ping) > ping_freq. It otherwise uses the commented oci_ping call.
The patch (against CVS/5.0 branch) can be found at :
http://www.jeuxdecartes.net/static/oci8.ping_freq.patchHope you'll find this patch ok, and will include it in future releases of 5.0.
Thanks for the patch.
I'm currently working on OCI8 and this issue will be closed along with the others.
--
Wbr,
Antony Dovgal