gpt4 book ai didi

php - 即使我关闭数据库连接,在 PHP 中获取 "MySQL Server has gone away"

转载 作者:行者123 更新时间:2023-11-29 17:52:21 26 4
gpt4 key购买 nike

我有一个可以通过 Telnet 连接的 PHP 套接字服务器。连接后,我可以以某种格式发送消息并将它们保存在数据库中。

发生的情况是,当 PHP Socket 收到消息时,它会打开数据库连接,执行查询,然后关闭连接。当它收到另一条消息时,它会再次打开连接,执行查询,然后关闭连接。

到目前为止,当我以 5-10 分钟的间隔发送消息时,此功能有效。但是,当间隔增加超过一个小时左右时,我收到 MySQL 服务器已消失 错误。

经过一些研究,常见的解决方案似乎是增加等待时间,这对我来说不是一个选择。 PHP Socket 服务器应该是 24/7 开放的,我怀疑是否有办法将等待时间增加到无穷大。

另一个选项是检查 PHP 本身是否 MySQL 服务器已消失,并根据结果重置 MySQL 服务器,然后尝试再次建立连接。

有谁知道如何在 PHP 中做到这一点吗?或者,如果有人有其他方法让 MySQL 服务器在 PHP Socket 服务器中保持持续事件,我也会接受这个想法。

最佳答案

如果数据库连接超时(可能是由于自上次使用连接以来长时间运行的进程),您将收到此错误。

您可以使用单个命令轻松检查连接并在必要时恢复连接:

$mysqli->ping()

关于php - 即使我关闭数据库连接,在 PHP 中获取 "MySQL Server has gone away",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49203454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com