为什么只有一个真正的用户,却达到了最大用户数


Why is the max number of users reached when there is only really one?

我正试图创建一个网站,让每个用户每隔几秒钟查询一次(~2)。所以,在网站上呆了一段时间后,我收到了的消息

"警告:mysqli_connect():(42000/1226):用户已超过connect.php中第2行的'max_connections_per_hour'资源(当前值: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)",这种情况仍然会发生。

我该怎么解决这个问题?

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

即使显式关闭连接是一种很好的做法,PHP也会在脚本末尾隐式关闭任何资源。无论如何,在我看来,你误解了错误信息。您用来连接到数据库的用户每小时允许的连接数有限。这意味着,每次您请求一个需要connect.php的页面时,都会消耗掉其中一个连接。

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

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

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

根据手册,您可以使用这样的东西进行无限连接:

mysql> ALTER USER 'francis'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 0;
相关文章: