MySQL 服务器已经消失,PDO 和 max_allowed_packet 在 PHP
MySQL server has gone away, PDO and max_allowed_packet in PHP
您知道如何避免以下致命错误消息吗:
"...MySQL server has gone away".
我想这意味着与 MySQL 的 PDO 连接已经丢失。
我检查了 MySQL max_allowed_packet
变量等于 268435456(我认为这个值绰绰有余)。
没有办法"avoid"这个错误。当您失去与数据库服务器的连接时会发生此错误。发生这种情况的原因有多种。 MySQL server has gone away
错误最常见的原因是服务器超时并关闭了连接。
其他一些常见原因是:
- 您(或数据库管理员)已终止 运行ning 线程。
- 您试图在关闭与服务器的连接后运行查询。
- 客户端 TCP/IP 连接超时。
- 您遇到服务器端超时,客户端自动重连被禁用。
- 还有更多。
从 MYSQL 文档中查看这个 link 以获取更多信息。
您可以检查 max_connections 并确保它们未达到 - 这是我记得您收到此错误的最常见原因。
感谢您的回答。经过几天的调查,我决定每 250 秒重置一次 PDO MySQL 连接。我知道这不是 class 解决方案中最好的,但它至少是避免问题的解决方案。
您知道如何避免以下致命错误消息吗:
"...MySQL server has gone away".
我想这意味着与 MySQL 的 PDO 连接已经丢失。
我检查了 MySQL max_allowed_packet
变量等于 268435456(我认为这个值绰绰有余)。
没有办法"avoid"这个错误。当您失去与数据库服务器的连接时会发生此错误。发生这种情况的原因有多种。 MySQL server has gone away
错误最常见的原因是服务器超时并关闭了连接。
其他一些常见原因是:
- 您(或数据库管理员)已终止 运行ning 线程。
- 您试图在关闭与服务器的连接后运行查询。
- 客户端 TCP/IP 连接超时。
- 您遇到服务器端超时,客户端自动重连被禁用。
- 还有更多。
从 MYSQL 文档中查看这个 link 以获取更多信息。
您可以检查 max_connections 并确保它们未达到 - 这是我记得您收到此错误的最常见原因。
感谢您的回答。经过几天的调查,我决定每 250 秒重置一次 PDO MySQL 连接。我知道这不是 class 解决方案中最好的,但它至少是避免问题的解决方案。