12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
-
- namespace Illuminate\Database;
-
- use Throwable;
- use Illuminate\Support\Str;
-
- trait DetectsLostConnections
- {
- /**
- * Determine if the given exception was caused by a lost connection.
- *
- * @param \Throwable $e
- * @return bool
- */
- protected function causedByLostConnection(Throwable $e)
- {
- $message = $e->getMessage();
-
- return Str::contains($message, [
- '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',
- 'Transaction() on null',
- 'child connection forced to terminate due to client_idle_limit',
- 'query_wait_timeout',
- 'reset by peer',
- 'Physical connection is not usable',
- 'TCP Provider: Error code 0x68',
- ]);
- }
- }
|