最近在开发项目使用了ThinkPHP的异步队列,刚启动队列测试没问题,结果第二天就报2006 MySQL server has gone away。
后来得知,异步队列是运行在CLI模式,连接数据库之后,一直长时间没与MySQL服务器交互,所以MySQL服务器就断开了与脚本的连接。
解决:ThinkPHP6.0自带数据库断线重连,只需要在/config/database.php中配置参数break_reconnect为true,开启它就可以了。
最近在开发项目使用了ThinkPHP的异步队列,刚启动队列测试没问题,结果第二天就报2006 MySQL server has gone away。
后来得知,异步队列是运行在CLI模式,连接数据库之后,一直长时间没与MySQL服务器交互,所以MySQL服务器就断开了与脚本的连接。
解决:ThinkPHP6.0自带数据库断线重连,只需要在/config/database.php中配置参数break_reconnect为true,开启它就可以了。