Я настраиваю разделение конфигурации с помощью 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 остается «неактивным», несмотря на то, что его ['статус'] = ИСТИНА;
,
Любая идея, что здесь происходит?