Cambio del directorio de sincronización de configuración
Por defecto, Drupal ubica el directorio de sincronización de configuración dentro del directorio de archivos del sitio, usando un hash como parte del nombre del directorio, es decir, sites/default/files/config_HASH.
HASH es una cadena bastante larga de caracteres aleatorios. Esto dificulta (pero no imposibilita) el acceso a la configuración vía Internet. La ubicación del directorio de sincronización se puede cambiar después de la instalación.
En sitios de producción, y si tu cuenta tiene permiso para ello, se recomienda mover completamente el directorio de sincronización de configuración fuera de la raíz del sitio. Dado que tu directorio de sincronización debe estar bajo control de versiones, esto implica que el directorio raíz de tu repositorio de control de versiones debe estar un nivel por encima de la raíz del sitio.
En sitios de desarrollo local, puedes querer un acceso más fácil a los archivos de configuración y mover el directorio a algo como sites/default/sync.
Para mover el directorio, abre tu archivo settings.php. Al final del archivo, el proceso de instalación de Drupal escribirá una línea indicando la ubicación del directorio de sincronización en sites/default/files/config_HASH.
La ausencia del directorio de sincronización puede causar el siguiente mensaje en el registro de errores PHP:
Uncaught PHP Exception Exception: "The configuration directory type 'sync' does not exist"
Si quieres mover esta carpeta, por ejemplo, a sites/default/sync, debes actualizar la variable $config_directories de la siguiente manera:
$config_directories[CONFIG_SYNC_DIRECTORY] = 'sites/default/sync';
Si quieres mover la carpeta fuera de la raíz web, puedes usar algo como:
$config_directories[CONFIG_SYNC_DIRECTORY] = '../config/sync';
donde el directorio config está al mismo nivel que tu webroot, y el directorio sync existe dentro de config.
¡Eso es todo! Ahora, usando la interfaz de gestión de configuración o el flujo de trabajo basado en Drush, se usará el directorio correcto.
Cambios de sintaxis en Drupal 8.8.0
En Drupal 8.8.0 el directorio de sincronización se define en $settings, no en $config_directories, por lo que el archivo settings.php debe ser actualizado.
Simplemente cambia de:
$config_directories['sync'] = 'foo/bar';
a:
$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.