改进isBreak方法判断

This commit is contained in:
thinkphp
2017-05-03 15:37:35 +08:00
parent 2c60d4a13b
commit 7dc2a9d975
2 changed files with 21 additions and 19 deletions

View File

@@ -780,11 +780,31 @@ abstract class Connection
/**
* 是否断线
* @access protected
* @param \PDOException $e 异常
* @param \PDOException $e 异常对象
* @return bool
*/
protected function isBreak($e)
{
$info = [
'server has gone away',
'no connection to the server',
'Lost connection',
'is dead or not enabled',
'Error while sending',
'decryption failed or bad record mac',
'server closed the connection unexpectedly',
'SSL connection has been closed unexpectedly',
'Error writing data to the connection',
'Resource deadlock avoided',
];
$error = $e->getMessage();
foreach ($info as $msg) {
if (false !== stripos($error, $msg)) {
return true;
}
}
return false;
}

View File

@@ -130,22 +130,4 @@ class Mysql extends Connection
return true;
}
/**
* 是否断线
* @access protected
* @param \PDOException $e 异常对象
* @return bool
*/
protected function isBreak($e)
{
$info = ['server has gone away', 'Error while sending STMT_'];
$error = $e->getMessage();
foreach ($info as $msg) {
if (false !== stripos($error, $msg)) {
return true;
}
}
return false;
}
}