think-orm
think-orm copied to clipboard
求一个数据库主动关闭连接的方法
场景是这样的,我这有一个命令行的任务,是偶尔会进数据,但是不希望链接一直连着,尤其是一直报has gone away的错误,可能导致数据进不去数据库。开了长连接的配置,但是还是不行。 所以希望有一个主动关闭连接的方法,添加完数据之后把链接都关了
我们刚好遇到了,Connection类底层实现了抽象父类的close方法,在会调用子类PDOConnection做了实现: https://github.com/top-think/think-orm/blob/f48dc09050f25029d41a66bfc9c3c403e4f82024/src/db/PDOConnection.php#L1520
但是Connection并没有开放出一个方法可以调用, 不过它的析构函数里面调用了, 性质一样, 所以可以这样使用:
Db::__destruct();
因为不想改底层, 加个方法很简单, 但是怕以后升级不好维护 缺点是以后升级怕官方会在析构函数里面加其他逻辑,不过目前只有close方法,所以暂且先用着,等官方出个方法 https://github.com/top-think/think-orm/blob/f48dc09050f25029d41a66bfc9c3c403e4f82024/src/db/Connection.php#L327