首页 >后端开发 >php教程 >mysql.connect_timeout PHP 选项是否导致 MySQL 服务器连接在 60 秒后超时?

mysql.connect_timeout PHP 选项是否导致 MySQL 服务器连接在 60 秒后超时?

Barbara Streisand
Barbara Streisand原创
2024-10-18 22:10:30426浏览

Is the mysql.connect_timeout PHP Option Causing MySQL Server Connection Timeouts After 60 Seconds?

MySQL Server 断开连接问题:超时后 60 秒断开连接

问题:

我发现一个以前运行正常的 SQL 查询现在在 60 秒后超时并抛出错误。尽管查询很慢,但它是作为一项夜间作业的一部分运行的,因此它本身并不是问题(所以请不要建议我优化它)。

通过从 PHP 运行 "select SLEEP(120);",我可以一直重现该错误,如下所示。然而,从 MySQL 客户端运行相同语句是成功的(返回 0)。我尝试调整 wait_timeout(设置为 28800),但没有成功。我还重新启动了数据库服务器和计算机本身。

我总是超时刚好 60 秒,这让我认为它可能是设置问题,而不是资源受限问题。

我正在运行:

  • Windows 服务器 2003
  • MySQL 5.1.36-community
  • PHP 5.3

以下是我的测试代码、输出和 SHOW VARIABLES 的结果。

... 代码、输出和 SHOW VARIABLES 如下所示 ...

答案:

php 选项 mysql.connect_timeout 是导致此问题的原因。它不仅用于连接超时,也用于等待来自服务器的第一个响应。你可以这样增加它:

ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300); 

以上是mysql.connect_timeout PHP 选项是否导致 MySQL 服务器连接在 60 秒后超时?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn