我希望有人可以快速帮我解决一个问题。
由于网站我的构建偶尔会返回错误
警告:mysqli :: mysqli()[mysqli.mysqli] :( 08004/1040):
中的连接太多警告:mysqli :: query()[mysqli.query]:无法在
中获取mysqli现在起初我认为这种情况正在发生,因为我在每个页面的末尾都关闭了连接,现在我在页面/脚本的开头得到了这样的连接
$ conn = new mysqli($ host,$ username,$ password,$ database);
并在最后通话
$ conn->关闭();
我也关闭了我打开的任何结果集。
查看我的日志文件,我今天访问该网站时看到了这个错误,我访问了大约12点钟,起初页面甚至没有加载,然后它给了我这个错误。在那之前,一个人在11:30到10:30之间访问,并不是非常繁忙的交通。
我去过的主人非常安静,没有办法与他们取得联系,忽略任何支持电子邮件,我想也许现在我听说他们不是很好,这可能是一个严重的问题设置共享的mysql服务器?
任何想法或建议都会令人惊讶,因为我需要解决这个问题!
提前致谢!
答案 0 :(得分:4)
听起来MySQL帐户被太多帐户共享,因为该错误意味着已超出服务器的max_connections
设置。可能有其他几个高流量客户正在接受连接(这是一个共享的MySQL服务器,我接受了吗?)
我很确定PHP会在请求结束时自动关闭资源(尽管最好明确地关闭你的连接等等)所以我不认为这是你的脚本保持连接打开。
您需要继续关注您的托管服务提供商,我担心或者考虑移动提供商。还要尝试记录错误发生的时间和持续时间,因为如果他们拒绝承认存在问题,您需要将其作为证据。
您也可以将您的提供商引荐到此页面:http://dev.mysql.com/doc/refman/5.1/en/too-many-connections.html。