mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-10 00:22:48 +08:00
改进isBreak方法判断
This commit is contained in:
@@ -780,11 +780,31 @@ abstract class Connection
|
|||||||
/**
|
/**
|
||||||
* 是否断线
|
* 是否断线
|
||||||
* @access protected
|
* @access protected
|
||||||
* @param \PDOException $e 异常
|
* @param \PDOException $e 异常对象
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
protected function isBreak($e)
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -130,22 +130,4 @@ class Mysql extends Connection
|
|||||||
return true;
|
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user