检测打开的数据库连接
问题描述:
我已经构建了一个网站,并且已经运行了一段时间。但今天突然我收到并且错误地表示到达DB的最大连接。检测打开的数据库连接
我怎么可以列出打开的连接,并使用PHP命令终止它们甚至可以通过数据库服务器manegement
答
发生此问题,因为你有很多用户在同一时间打开的连接。另外,Ajax可能会导致这个问题。一旦页面执行完成,连接应该被终止。确保在每次打开页面时为每个用户回收一个连接,然后尝试不同的操作。例如,您不希望在每次执行数据库查询时重新打开与数据库的连接(传递用户和传递)。打开一次,并继续使用它,直到页面呈现。这可能是因为你的连接没有被正确终止,但我没有遇到过这个问题;我知道PHP有可能错过管理连接。请联系您的主机,并询问在任何时刻允许数据库连接多少个连接,以及是否可以增加连接。
答
只是每次执行查询close();
连接后。
mysql_close ([ resource $link_identifier = NULL ]);
mysqli::close (void);
mysqli_close (mysqli $link);
[不是一个真正的答案,但也许有帮助...](http://www.microshell.com/database/mysql/mysql-too-many-connection-errors/) – xQbert 2012-04-15 19:28:46