在编写thinkphp常驻内存的命令行应用中我们需要保证数据库连接不会断开,保证断开还能重新连接,因此大部分人的方案是直接修改tp的数据库配置文件database.php
// 开启断线重连
'break_reconnect' => true,
通常这样修改就行了,但是如果fpm中有使用事务操作,这样配置非常危险,我们需要保证fpm和cli下这个配置不一致,fpm下这个配置最好保持为false,cli下应该设置为true。
只需要我们把上面的配置默认设置为false,然后再cli命令行应用中重新设置
$dbConfig = config('database.');
$dbConfig['break_reconnect'] = true;
Db::init($dbConfig);
大功告成,本人tp5.1