正在显示
1 个修改的文件
包含
27 行增加
和
0 行删除
@@ -349,6 +349,26 @@ class DbPool { | @@ -349,6 +349,26 @@ class DbPool { | ||
349 | } | 349 | } |
350 | 350 | ||
351 | 351 | ||
352 | + /** | ||
353 | + * 验证是否正常连接 | ||
354 | + * @return bool | ||
355 | + * @author:dc | ||
356 | + * @time 2024/4/10 10:09 | ||
357 | + */ | ||
358 | + public function ping(){ | ||
359 | + try { | ||
360 | + $query = $this->getClient()->query("select 200;"); | ||
361 | + if($query->fetchColumn() == 200){ | ||
362 | + return true; | ||
363 | + } | ||
364 | + }catch (\Throwable $e){ | ||
365 | + return false; | ||
366 | + } | ||
367 | + | ||
368 | + return false; | ||
369 | + } | ||
370 | + | ||
371 | + | ||
352 | 372 | ||
353 | /** | 373 | /** |
354 | * @param $cid | 374 | * @param $cid |
@@ -360,6 +380,13 @@ class DbPool { | @@ -360,6 +380,13 @@ class DbPool { | ||
360 | if(empty(static::$instance[$cid])){ | 380 | if(empty(static::$instance[$cid])){ |
361 | static::$instance[$cid] = new DbPool($cid); | 381 | static::$instance[$cid] = new DbPool($cid); |
362 | } | 382 | } |
383 | + | ||
384 | + if(!static::$instance[$cid]->ping()){ | ||
385 | + static::$instance[$cid]->close(); | ||
386 | + | ||
387 | + static::$instance[$cid] = new DbPool($cid); | ||
388 | + } | ||
389 | + | ||
363 | return static::$instance[$cid]; | 390 | return static::$instance[$cid]; |
364 | } | 391 | } |
365 | 392 |
-
请 注册 或 登录 后发表评论