make(DbManager::class); } else { $reflect = new \ReflectionClass(Db::class); $property = $reflect->getProperty('instance'); $property->setAccessible(true); $manager_instance = $property->getValue(); } Timer::add(55, function () use ($manager_instance) { $instances = []; if (method_exists($manager_instance, 'getInstance')) { $instances = $manager_instance->getInstance(); } else { $reflect = new \ReflectionClass($manager_instance); $property = $reflect->getProperty('instance'); $property->setAccessible(true); $instances = $property->getValue($manager_instance); } foreach ($instances as $connection) { /* @var \think\db\connector\Mysql $connection */ if ($connection->getConfig('type') == 'mysql') { try { $connection->query('select 1'); } catch (Throwable $e) {} } } Db::getDbLog(true); }); } // 自定义分页组件类 $bootstrap = $config['connections'][$config['default']]['bootstrap'] ?? false; if($bootstrap && class_exists($bootstrap)){ Paginator::maker(function ($items, $listRows, $currentPage, $total, $simple, $options) use ($bootstrap){ return (new \ReflectionClass($bootstrap))->newInstanceArgs(func_get_args()); }); } Paginator::currentPageResolver(function ($pageName = 'page') { $request = request(); if (!$request) { return 1; } $page = $request->input($pageName, 1); if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int)$page >= 1) { return (int)$page; } return 1; }); // 设置分页url中域名与参数之间的path字符串 Paginator::currentPathResolver(function (){ $request = request(); return $request ? $request->path() : '/'; }); } }