PHP没有关闭Mysql连接并达到最大连接

时间:2018-06-13 20:50:26

标签: php mysql mysqli

我有一个大约6岁的网站,在过去的6个月里,我们一直在寻找相同的问题,最大限度地利用了mysql连接。

现在每隔几天网站就会变得不可用,因为没有剩余的SQL连接。由于它位于共享服务器上,我需要让主机公司刷新连接。

这是我尝试的内容:

  • 确保现在每个页面都关闭
  • 升级到PHP7并转换为mysqli
  • 拉出我的头发

我看到的每个地方,都表示不使用Persistant连接 - 我没有明确地使用它们 - 并且PHP会在页面完成后自动释放连接 - 嗯......

主办公司通常很有帮助,但不是这个。所以我有两个问题......

  1. 是什么导致连接在我的mysqli_close()或PHP出口上都没有关闭?也许页面正在中止或过慢而失败?

  2. 为什么不让这些连接靠近......几个小时后我就会向主办公司报告并刷新连接......为什么它们没有整理好?同时该网站不可用......

  3. 请帮助..

    克里斯。

    啊......我刚刚更清楚地阅读了主办公司的回复......(这几天是忙碌的)他们说"问题是数据库服务器上的问题共享主机平台旨在一旦达到最大允许连接就锁定数据库,因此一旦达到25个同时连接,它就永远不会关闭任何连接。 "

    所以问题是为什么我要打25个连接?我是否因缓慢加载页面而打开连接,因此限制了可用数量?

1 个答案:

答案 0 :(得分:0)

无论何时打开mysqli连接

$mysqli = connect_db();

你必须明确地关闭它或者它们四处游荡并且mysql服务器最终不满意

$mysqli->close();

虽然显式关闭打开的连接和释放结果集是可选的,但建议这样做。这将立即将资源返回给PHP和MySQL,这可以提高性能。 http://php.net/manual/en/mysqli.close.php

相关问题