Я настраиваю разделение конфигурации с помощью Drupal 9 и получаю неожиданные результаты.
Ни одно из моих разделений не помечено как активное в активной конфигурации или экспортированной конфигурации YAML.
Я хочу установить локальное разделение по умолчанию в настройки.php а затем использовать settings.local.php переопределить его разработчик, стг, прд среды.
Моя локальная среда разработки — DDEV-Local v1.17.5. Все три удаленные среды настроены на одном удаленном сервере в частной AWS клиента, на трех разных виртуальных хостах Apache.
Я не могу использовать переменные среды, чтобы различать разработчик, стг, прд среды, поскольку все они находятся на одном хосте. Было непросто различать среды без обычных переменных среды Acquia или Pantheon.
(Примечание: я понимаю, если config_split здесь не по теме, так как это не основной модуль. Я создал очередь задач на Drupal.org, но я все еще надеюсь, что кто-то увидит здесь вопрос и предложит свое понимание.)
Это переопределение по умолчанию в настройки.php:
$config['config_split.config_split.local']['status'] = TRUE;
$config['config_split.config_split.prd']['status'] = FALSE;
$config['config_split.config_split.stg']['status'] = FALSE;
$config['config_split.config_split.dev']['status'] = FALSE;
Все идет нормально. Локальное разделение является «активным (перезаписанным)».
Все становится странно, когда я редактирую это, чтобы включить еще одно разделение в моей локальной среде:
$config['config_split.config_split.local']['status'] = FALSE;
$config['config_split.config_split.prd']['status'] = TRUE;
$config['config_split.config_split.stg']['status'] = FALSE;
$config['config_split.config_split.dev']['status'] = FALSE;
После редактирования настройки.php (и, конечно же, очистив кеш) раздел «Производство» «активен (перезаписан)», как и ожидалось.
К сожалению, локальное разделение также «активно (перезаписано)», несмотря на то, что его ['статус'] = ЛОЖЬ;,
Все становится еще более странным, когда я пытаюсь логически свести на нет значения всех разбиений:
$config['config_split.config_split.local']['status'] = FALSE;
$config['config_split.config_split.prd']['status'] = TRUE;
$config['config_split.config_split.stg']['status'] = TRUE;
$config['config_split.config_split.dev']['status'] = TRUE;
Теперь локальный раскол еще "активный (перезаписанный)", несмотря на то, что он установлен ['статус'] = ЛОЖЬ;,
Разделы Stage и Production являются «активными (перезаписанными)», чтобы соответствовать их ['статус'] = ИСТИНА;,
И разделение Dev остается «неактивным», несмотря на то, что его ['статус'] = ИСТИНА;,
Любая идея, что здесь происходит?