Изменение каталога синхронизации конфигурации
По умолчанию Drupal размещает каталог синхронизации конфигурации в каталоге файлов сайта, используя хеш как часть имени каталога, таким образом sites/default/files/config_HASH.
HASH - это довольно длинная строка случайных символов. Это усложняет (но не делает невозможным) доступ к конфигурации через Интернет. Расположение каталога синхронизации можно изменить после установки.
На рабочих сайтах, и если ваша учетная запись имеет разрешение на это, рекомендуется полностью переместить каталог синхронизации конфигурации за пределы корня сайта. Поскольку ваш каталог синхронизации должен находиться под контролем версий, это означает, что корневой каталог вашего хранилища контроля версий должен быть на один уровень выше вашего корня сайта.
На локальных сайтах разработки вы можете захотеть иметь более легкий доступ к файлам конфигурации и переместить каталог в нечто вроде sites/default/sync.
Чтобы переместить каталог, откройте ваш файл settings.php. В конце файла процесс установки Drupal напишет строку с указанием расположения каталога синхронизации в сайтах /default/files/config_HASH.
Отсутствие каталога синхронизации может привести к появлению следующего сообщения в журнале ошибок PHP:
Uncaught PHP Exception Exception: "The configuration directory type 'sync' does not exist"
Если вы хотите переместить эту папку, скажем, на sites/default/sync, вам нужно обновить переменную $config_directories следующим образом:
$config_directories[CONFIG_SYNC_DIRECTORY] = 'sites/default/sync';
Если вы хотите переместить папку за пределы веб-корня, вы можете использовать что-то вроде
$config_directories[CONFIG_SYNC_DIRECTORY] = '../config/sync';
где каталог config имеет тот же родительский каталог, что и ваш webroot, а каталог sync существует в каталоге config.
Это оно! Теперь, используя пользовательский интерфейс управления конфигурацией или рабочий процесс на основе Drush, используется правильный каталог.
Изменения синтаксиса в Drupal 8.8.0
В Drupal 8.8.0 каталог синхронизации определен в $settings, а не в $config_directories, поэтому файл settings.php должен быть обновлен.
Просто измените с:
$config_directories['sync'] = 'foo/bar';
на
$settings['config_sync_directory'] = 'foo/bar';
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.