PHP程序在执行批量sql的时候偶尔报错:MySQL server has gone away。
主要逻辑就是循环处理20个事务,一个事务大概12个左右的sql,也就是一个流程下来估计有超过240个sql左右,偶尔会报错,我看了超时时间设置:
时间是充足的很,可是为什么还是会报错呢?
还有就是sql不存在大数据插入,所以不会是数据包超过限制而导致的,网上搜索的大体三种原因:
1、长时间闲置导致连接断开,这个排除
2、sql语句太长,数据包过大导致,这个排除
3、超时时间过短导致,这个排除
想破脑壳都想不到什么原因,测试了整个流程执行时间平均不超过10秒 为啥呢?有木有大神指导一下
我用的是PDO方式连接,其实每次执行sql之前都有判断连接是否断开
可是好像没用
千万里不及你
宝慕林4294392
三国纷争
慕斯709654