2011-08-04 31 views
1

我有用php(4.3.9)写的连接到oracle数据库(10g)的网页。用户可以提交查询并查看结果。我不时得到了在Web应用程序中的错误:)如何杀死未使用的连接

ociplogon(:_oci_open_server:ORA-12516:TNS:监听程序无法找到匹配协议栈可处理

用户无法登录,并执行查询。 httpd重置后,网页正常。

谷歌上搜索后,我发现:

  • ,因为已达到连接到Oracle最大限制
  • ,所以我想有一些死/未使用的连接到数据库并通过复位打扫这个错误造成的httpd
  • 用户是由PHP命令连接ociplogon这是持久
  • “OCILogoff()不执行任何操作的时刻......”(bugs.php.net/bug.php?id=11234

有没有办法清除未使用/死亡的连接?设置一些超时?

回答

1

这是因为很多开放的连接到数据库,在完成指定的操作后,您应该关闭。

查看oci_closeDocs以了解如何关闭OCI连接,以及关于连接到OCI的更多信息,请参阅oci_connectDocs

+0

oci_close在php5或更高版本中。 ocilogoff()是oci_close的前身。然后我发现了这个错误:“OCILogoff()此刻不做任何事情......”(https://bugs.php.net/bug.php?id=11234) – erik