如何在apache服务器上从php关闭oracle db连接?我的意思是立即关闭

时间:2010-04-14 12:39:56

标签: php oracle apache

通常关闭连接只需oci_close($connection);完成,或者更糟糕的情况是php脚本结束连接失败。

然而,在我的情况下,我面临着不同的行为。

如果我访问使用PHP 5.2.8,Apache 2.2.11和oci8 1.2.5的应用程序,连接将在几分钟内保持

实际上似乎是:如果我启动netstat -b,我会看到进程httpd.exe在一段时间内(几分钟)保留在数据库网址上的ESTABLISHED状态。

有人可以告诉我这种行为吗?

P.S。我不使用持久连接。

P.P.S。这里要问的是用于连接和关闭的代码(这是遗留应用程序):

connection:调用一个与连接相关的代码为$connection = @ocilogon ( "$username", "$password", "$database" );

的函数

结束:我们开发的每个页面的责任,但通常是oci_close($connection)

1 个答案:

答案 0 :(得分:0)

oci_connect()这里的文档(ocilogon()调用相同的函数):

http://www.php.net/manual/en/oci8.connection.php

这意味着您可以通过oci_close()显式关闭连接,或者在呈现的页面末尾自动关闭连接。我想如果你没有明确关闭它可能需要一段时间才能超时。是否有可能,某些没有oci_close()次呼叫的网页会导致您看到的开放式连接?

如果您创建的只包含oci_connect()oci_close()的独立页面然后多次执行,您是否看到连接数量直接上升,执行页面的次数和熬夜次数在最终回来之前?

此外,您正在查看哪个指标可以看到连接仍处于打开状态?

如果您使用的是更高版本,那么它可能是Oracle 11g数据库驻留连接池,但您当前使用的版本中不存在该版本。