滚动
更改配置同步目录
默认情况下,Drupal 将配置同步目录放置在站点文件目录中,并使用哈希值作为目录名称的一部分,例如 sites/default/files/config_HASH。
HASH 是一串相当长的随机字符。这使得通过互联网访问配置更加困难(但并非不可能)。安装完成后,可以更改同步目录的位置。
在生产站点上,如果您的账户具有相应的权限,建议将配置同步目录完全移动到站点根目录之外。由于您的同步目录应受版本控制,因此您的版本控制仓库的根目录应位于网站根目录的上一级。
在本地开发站点上,您可能希望更方便地访问配置文件,因此可以将目录移动到类似 sites/default/sync 的位置。
要移动目录,请打开您的 settings.php
文件。在文件末尾,Drupal 安装过程会写入一行,指定同步目录位于 sites/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
目录与网站根目录具有相同的父目录,而 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';