【问题标题】:MySQL server has gone away, PDO and max_allowed_packet in PHPMySQL 服务器已经消失,PHP 中的 PDO 和 max_allowed_pa​​cket
【发布时间】:2018-09-13 16:14:35
【问题描述】:

你知道如何避免以下致命错误信息吗:

“...MySQL 服务器已消失”。

我想这意味着与 MySQL 的 PDO 连接已丢失。

我检查了MySQL max_allowed_packet 变量等于268435456(我认为这个值绰绰有余)。

【问题讨论】:

标签: php mysql pdo max-allowed-packet


【解决方案1】:

没有办法“避免”这个错误。当您失去与数据库服务器的连接时会发生此错误。这可能由于多种原因而发生。 MySQL server has gone away 错误的最常见原因是服务器超时并关闭了连接。

其他一些常见的原因是:

  • 您(或数据库管理员)杀死了正在运行的线程。
  • 您试图在关闭与服务器的连接后运行查询。
  • 客户端的 TCP/IP 连接超时。
  • 您在服务器端遇到超时,客户端中的自动重新连接已禁用。
  • 还有更多。

查看 MYSQL 文档中的 link 了解更多信息。

【讨论】:

  • -----------------------------------
【解决方案2】:

您可以检查 max_connections 并确保未达到它们 - 这是我记得您收到此错误的最常见原因。

【讨论】:

    【解决方案3】:

    感谢您各自的回答。经过几天的调查,我决定每 250 秒重置一次 PDO MySQL 连接。我知道这不是一流的解决方案,但它至少是避免问题的解决方案。

    【讨论】:

      猜你喜欢
      • 2014-11-28
      • 2020-11-12
      • 2017-07-23
      • 2011-11-09
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      相关资源
      最近更新 更多