mysql gone away 简单的说就是连接不见了,那为啥不见了?这个我会在最后说。以下是网上的文章,觉得有些旁敲侧击了。http://blog.csdn.net/u012260707/article/details/...
mysql gone away 简单的说就是连接不见了,那为啥不见了?
这个我会在最后说。
以下是网上的文章,觉得有些旁敲侧击了。
问题描述:
Error Info:Array([0] => HY000[1] => 2006[2] => MySQL server has gone away)
"用php跑数据 任务时间过长,每次都会出现这个,能帮忙把这个超时时间设置到最大吗,下周我们仔细看看这个是啥问题,之前用JDBC跑数 不会出现这个问题,应该是php,yii2一直拿connection没有释放"
JDBC中!=null 就close 这种事我觉得应该是框架做的
上述可知用JDBC无此问题,用yii2频繁出现,定位是yii2的问题,gone-away意思是连接不见了,断掉了,那么有没有colse和open的方法呢,断掉了我们手动去open一下
查了一下open和close的写法为Yii::$app->db->open();
Yii::$app->db->close();思路是在
try{
//code
}catch(Exception $e){
//去判断 $e是不是2006,然后去open一下,然后再colse一下
}
每个方法都去写一个这样的try{}catch{}不是很科学,通常的做法是在顶级父类的afterAction或入口去拦截这样的错误...
仅显示部分内容,浏览全部请登录。
登录 | 立即注册