workman 长链数据库 返回 mysql has gone away

作者: cayman 分类: 编程技术 发布时间: 2019-11-06 14:43

最近开发使用workman + thinkphp 开发聊天服务器 时间长没有是连接用户 会出现 mysql has gone away

产生原因: workman 是驻守内存服务 使用thinkphp 是为了 pfm开发的导致 一个数据查询后 第二次重新查询没有重新建立连接 而数据库连接长时间没有连接会自动断开服务 thinkphp 并没有对这个进行处理

解决方法: 1 、定时进行数据库查询 2、将数据库wait_time 时间改长一点 3、在数据库查询之前 检测数据库连接是否存在 不存在进行重新连接

新解决方法: V5.0.6+版本开始,支持Mysql的断线重连机制,默认关闭,需要的话,是数据库配置文件中添加

// 开启断线重连
'break_reconnect' => true,

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注