max_user_connection 实时聊天时出错

max_user_connection error while real time chat

我用长轮询创建了实时聊天。它的工作原理如下:

首先,用户向服务器发送请求。服务器收到请求并等待新消息。

如果有新消息,它会向用户的浏览器推送一条消息(如果请求关闭,浏览器会重新发送)。如果服务器等待超过 3 分钟,请求将被取消并发送新请求。

在服务器上,我使用了PHP。在 PHP 中,我只是每 600 毫秒检查一次消息计数。如果大于之前的计数,服务器将获取新消息并将它们作为响应发送到浏览器。

问题是我收到 max_user_connection 错误,即使我在每次 SQL 检入数据库后关闭 mysqli 连接。

如果我不关闭 mysqli,错误会更频繁地发生。

我该如何解决这个问题? (目前我的主机是 Hostgator 并且计划已共享)

登录到 mysql 服务器并 运行 这个命令并找出你设置的最大连接数?

mysql>show variables like "max_connections";
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 100   |
+-----------------+-------+

如果小于您此时请求的连接数,则更新连接数。

mysql>set global max_connections = 200;

这应该可以解决您的问题。请记住 max_connections 是动态的,您不必停止或重新启动 mysql 服务器。可以直接更新连接数。