Modifica della directory di sincronizzazione della configurazione
Per impostazione predefinita, Drupal posiziona la directory di sincronizzazione della configurazione nella directory dei file del sito, utilizzando un hash come parte del nome della directory, in questo modo: sites/default/files/config_HASH.
HASH è una stringa piuttosto lunga di caratteri casuali. Questo rende più difficile (ma non impossibile) l’accesso alla configurazione tramite Internet. È possibile modificare la posizione della directory di sincronizzazione dopo l’installazione.
Per i siti di produzione, e se il tuo account ha l’autorizzazione per farlo, si consiglia di spostare completamente la directory di sincronizzazione della configurazione al di fuori della radice del sito. Poiché la directory di sincronizzazione deve essere sotto controllo di versione, ciò significa che la directory principale del tuo repository di controllo di versione dovrebbe trovarsi un livello sopra la radice del sito.
Per i siti di sviluppo locali, potresti voler avere un accesso più semplice ai file di configurazione e spostare la directory in qualcosa come sites/default/sync.
Per spostare la directory, apri il tuo file settings.php. Alla fine del file, il processo di installazione di Drupal scriverà una riga che specifica la posizione della directory di sincronizzazione in sites/default/files/config_HASH.
La mancanza della directory di sincronizzazione può causare il seguente messaggio nel registro errori di PHP:
Uncaught PHP Exception Exception: "The configuration directory type 'sync' does not exist"
Se desideri spostare questa cartella, ad esempio in sites/default/sync, devi aggiornare la variabile $config_directories come segue:
$config_directories[CONFIG_SYNC_DIRECTORY] = 'sites/default/sync';
Se desideri spostare la cartella al di fuori della root del web, puoi utilizzare qualcosa come:
$config_directories[CONFIG_SYNC_DIRECTORY] = '../config/sync';
dove la directory config ha lo stesso genitore della tua webroot e la directory sync esiste all’interno della directory config.
È tutto! Ora, utilizzando l’interfaccia utente di gestione della configurazione o il flusso di lavoro basato su Drush, viene utilizzata la directory corretta.
Modifiche alla sintassi in Drupal 8.8.0
In Drupal 8.8.0 la directory di sincronizzazione è definita in $settings invece che in $config_directories, quindi il file settings.php deve essere aggiornato.
Semplicemente cambia da:
$config_directories['sync'] = 'foo/bar';
a
$settings['config_sync_directory'] = 'foo/bar';