为什么只有真正的用户才能达到最大用户数?

时间:2016-04-06 01:08:58

标签: php mysql database web

我试图在每个用户每隔几秒钟建立一个对查询(~2)有点沉重的网站。所以,在网站上停留一段时间后,我收到了消息

  

"警告:mysqli_connect():( 42000/1226):用户已超过' max_connections_per_hour'第2行"中connect.php中的资源(当前值:1500)。这个文件包含在每个需要的PHP文件中。

以下是connect.php

<?php
$connection = mysqli_connect('...', '...', '...');
if (!$connection){
    die("Database Connection Failed" . mysqli_error(!connection));
}
$select_db = mysqli_select_db($connection, '2014998_lootcash');
if (!$select_db){
    die("Database Selection Failed" . mysqli_error(!connection));
}
?>

(我删除了私人信息)所以,网站上只有我。为什么它一直给我留言。我认为这是因为我没有关闭连接,但是在每个脚本的末尾,我放了"mysqli_close($connection)",它仍然会发生。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

  

我认为这是因为我没有关闭连接

即使关闭明确连接是一个很好的实践,PHP也会隐藏脚本末尾的任何资源。无论如何,在我看来,你已经误解了错误信息。您用于连接数据库的用户每小时允许的连接数有限。这意味着,每当您请求需要connect.php的网页时,您就已经消费了其中一个连接。

要增加此限制,您可以运行此查询:

ALTER USER 'youruser'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 3000;

您可以通过将限制设置为零来删除限制。

答案 1 :(得分:1)

根据manual,您可以使用类似的内容进行无限连接:

mysql> ALTER USER 'francis'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 0;