From 05c562403d770d66fee0ab9e1b5cbab0b57b7c13 Mon Sep 17 00:00:00 2001 From: Axios <369017150@qq.com> Date: Thu, 20 Jul 2017 16:10:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0clear=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在进行异步多进程操作时,当父进程初始化了Db类之后,异步出的子进程继续使用Db类进行数据库操作,会出现broken pipe或者mysql has gone away等异常错误。 而在创建子进程之前,清空Db类,则可以避免该错误发生。所以建议在Db类中增加clear函数方法,进行Db类的清空操作。 --- library/think/Db.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/think/Db.php b/library/think/Db.php index 8fa799eb..7edb6ed4 100644 --- a/library/think/Db.php +++ b/library/think/Db.php @@ -88,6 +88,10 @@ class Db } return self::$instance[$name]; } + + public static function clear(){ + self::$instance = null; + } /** * 数据库连接参数解析