MySQL服务器已经消失,PHP中的PDO和max_allowed_pa​​cket已经消失

时间:2018-04-04 07:35:16

标签: php mysql pdo max-allowed-packet

您知道如何避免以下致命错误消息:

  

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

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

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

3 个答案:

答案 0 :(得分:1)

没有办法避免"这个错误。丢失与DB服务器的连接时会发生此错误。这可能由于各种原因而发生。 v.pos=sort_function(_cont)错误的最常见原因是服务器超时并关闭连接。

其他一些常见原因是:

  • 您(或数据库管理员)已杀死正在运行的线程。
  • 您尝试在关闭与服务器的连接后运行查询。
  • 您从客户端的TCP / IP连接获得超时。
  • 您在服务器端遇到超时,并且客户端中的自动重新连接已被禁用。
  • 等等。

从MYSQL文档中查看此link以获取更多信息。

答案 1 :(得分:0)

你可以查看max_connections并确保它们没有到达 - 这是我记得你得到这个错误的最常见原因。

答案 2 :(得分:0)

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