问题:60 秒后 MySQL 服务器连接超时,错误“MySQL 服务器已消失 - 恰好 60 秒内”
所描述的问题源于与 PHP 选项 mysql.connect_timeout 相关的超时。此选项不仅影响连接超时,还影响从 MySQL 服务器接收第一个响应所需的时间。
根本原因:
mysql.connect_timeout 选项默认情况下通常设置为 60 秒。当 PHP 脚本在 MySQL 服务器上执行的查询时间超过 60 秒时,PHP 脚本将超时并抛出“MySQL 服务器已消失”错误。
解决方案:
要解决此问题,请将 mysql.connect_timeout 选项增加到大于查询的预期执行时间的值。这将允许 PHP 脚本在超时之前等待更长的时间来等待服务器的响应。
您可以在 PHP 脚本中使用 ini_set() 函数修改 mysql.connect_timeout 选项:
ini_set('mysql.connect_timeout', 300); // Set to 300 seconds ini_set('default_socket_timeout', 300); // Set the socket timeout to match the connect timeout
通过增加mysql.connect_timeout选项,可以有效延长PHP脚本接收MySQL服务器响应的等待时间,从而防止“MySQL服务器已消失”错误。
以上是为什么我的 PHP MySQL 连接在 60 秒后超时?的详细内容。更多信息请关注PHP中文网其他相关文章!