首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
swoole结合php原生的pdo mysql模式出现MySQL server has gone away
swoole结合php原生的pdo mysql模式出现MySQL server has gone away 报这个错之后,只要在swoole用pdo对数据库进行操作一直报这个错,除非热重启重新加载pdo链接代码就会恢复正常,之后过一段时间又会报错
发布于1年前 · 0 次浏览 · 来自
提问
昂
swoole结合php原生的pdo mysql模式出现MySQL server has gone away 报这个错之后,只要在swoole用pdo对数据库进行操作一直报这个错,除非热重启重新加载pdo链接代码就会恢复正常,之后过一段时间又会报错
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2025-02-27
michonnehsu
连接池都回收了你还用就会这样。
赞
1
回复
2025-02-08
Rango
你需要捕获 pdo 的异常,然后实现断线重连。
赞
0
回复
2025-02-08
昂
pdo断线重连?但是报错了他甚至不走我pdo代码里了,pdo链接的代码里写了日志,报错之前一直会有日志,报错后甚至不往里面走了,就感觉本来加载到的pdo连接的代码 突然在内存中丢失了一样
赞
0
回复
2025-02-10
昂
现在临时的解决方案就是捕获到“MySQL server has gone away”错误,然后swoole热重启
赞
0
回复
2025-02-13
vanve
你这错误大概率是服务端把长时间的数据库连接断开了 1、你可以参考hyperf 从数据库连接池取出连接的时候判断下这个连接建立得时间 超过多少秒就丢弃重新链接,或者建立一个定时器 定时对数据库连接池 mysql ping 剔除不要得链接
赞
0
回复