в зависимости от ситуации?
нужно как-то подменять конфиг в рантайме или есть какие-то удобные способы?
Нужно, чтобы для публички, например, к базе подключалось ядро под одной учеткой, а в других системных местах — под другой
Кажется, есть лазейка, но нет гарантий, что ничего не поломается (особенно в версиях старше 20.900.0): 1. Завести доп подключение к БД в .settings.php 2.1. В dbconn.php (ядро частично проинициализировано, коннект к БД еще не поднят) руками подменить дефолтные конфиги требуемыми. Примерно так: $pool = \Bitrix\Main\HttpApplication::getInstance()->getConnectionPool(); $params = \Bitrix\Main\Config\Configuration::getValue("connections"); $pool->setConnectionParameters(\Bitrix\Main\Data\ConnectionPool::DEFAULT_CONNECTION_NAME, $params["имя_доп_подключения"]); 2.2. Либо в after_connect_d7.php (непосредственно после коннекта к БД) пересоздать коннект заново с требуемыми конфигами.
Обсуждают сегодня