使用mail()后“MySQL服务器消失了”

时间:2011-09-06 14:02:20

标签: php mysql

我有一个经常调用的php脚本,它运行一个简短的数据库查询并发送一封电子邮件。数据库代码使用程序样式的mysql函数,例如mysql_query()等。电子邮件使用mail()函数发送。

99%的时间没有问题。但是,有时候我会得到一个“MySQL服务器已经消失”的错误。最初的执行顺序是首先使用mail()发送邮件,然后运行简短的更新查询。我将执行顺序切换为首先运行查询并最后调用mail(),现在我从来没有遇到过问题。

问题: mail()偶尔会以某种方式干扰数据库连接。有人有什么想法吗?怎么去寻找问题?

更多信息:

一旦邮件脚本给出“服务器消失”错误,如果我再次尝试运行脚本,查询将始终失败并显示该错误。但是,如果我在phpMyAdmin中运行完全相同的查询,它执行没有问题,然后邮件脚本将再次工作。

此外,该脚本运行了几个月没有任何问题 - 最近刚刚启动的“服务器消失”错误,我们没有更改任何代码或配置。此外,该脚本在长时间内运行时没有问题,其中网站的流量增加了一倍以上,因此在服务器处理更多数据库连接时,它没有任何问题,比现在还要好。

PHP版本:5.3.3

MySQL版本:5.0.77-log源分发

数据库与webserver / php脚本不同(不连接到localhost)

Web服务器和数据库服务器都是Red Hat Enterprise Linux Server 5.6版(Tikanga)

1 个答案:

答案 0 :(得分:0)

您的等待时间设置可能太短,
official documentation has covered all the scenario

PS AFAIK,没有mysql server has went away
但是mysql server has gone away