正在显示
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 | 
- 
请 注册 或 登录 后发表评论