2006 MySQL server has gone away
嘻嘻发布于2020-07-18
最后更新于2020年7月7日
浏览在使用MySQL PDO来处理数据库查询等等, 有些时候比如后台任务、操作时间过长,会出现“2006 MySQL server has gone away”问题。很明显解决这个问题有两种方式,第一种延长超时时间,第二种操作之前检查连接是否在线。
延长超时时间
在查询开始时设置wait_timeout = 28800(和interactive_timeout = 28800), 并检查时候设置上。
SET wait_timeout=28800
SET interactive_timeout = 28800
SHOW VARIABLES LIKE '%timeout%'
PDO添加ping操作
try {
$this->pdo->query('SELECT 1');
} catch (PDOException $e) {
return false
}
return true;