【发布时间】:2013-04-27 04:38:10
【问题描述】:
我有一个脚本,每 5 分钟检查几个 twitch 频道,所以我可以在我的网站上列出我想要的当前直播的流。
问题是,这个脚本生成了很多 mysql_connections,我收到了一些关于最大连接数限制的错误。
据我所知,如果我打开一个到 mysql 的连接并在我的脚本上运行多个查询,它仍然是一个连接,对吧?
我的脚本是这样的:
1) 连接数据库
2) 查看当前时间
3) 使用站点任务更新表的 mysql 查询,插入当前时间
4) 对流媒体列表表的mysql查询
5) 对于每条记录,它会在 twitch 上获取一个带有数据的 xml,并保存到数据库中,如果它是否在线,有多少观众等
6) mysql_close
有人知道为什么会这样吗?起初我以为这是另一个 GoDaddy 错误,但由于这仅在我运行此任务时发生,因此在检查之前我没有费心与他们交谈。
【问题讨论】:
-
如果你能发布一些你的代码会更好
-
得到太多连接错误意味着很可能,你没有做 mysql_close 足够:P 你每 5 分钟是什么意思?这对于纯 php 是不可能的。如果你做一个mysql_connect,你应该做一个mysql_close。在两者之间,你是对的,这是你所做的所有查询的一个连接。
-
因为我有很多浏览量,所以我有一个脚本可以检查包含一些任务的表格,如果需要,它会运行脚本以获取 twitch 上的流。 $query = mysql_query("select * from site_tasks_helper"); $rs = mysql_fetch_array($query); $streams_last_verified = $rs["streams_last_verified"]; if (time() > strtotime("+5 分钟", $streams_last_verified)) { exec("/web/cgi-bin/php5 -f /var/chroot/home/content/57/8793357/html/lib/update_streams .php > /dev/null &", $arrOutput ); }
-
@Satya pastebin.com/uMsjWLdM
标签: php mysql connection