Drupal macht es schwer: settings['config_sync_directory']

Gespeichert von rsaalmueller am Mo., 2021-12-27 - 10:23

Kurz: Wer beim Upgrade seiner Drupal 8 auf 9.3 die folgende Fehlermeldung erhält, dem kann geholfen werden:

Your /settings.php file must define the $settings['config_sync_directory']

Ändern Sie die folgende Zeile in der 'settings.php' für Drupal 9.3 wie folgt:

$config_directories['sync'] = 'sites/default/files/config_YOURVALUE/sync';

in

$settings['config_sync_directory'] = 'sites/default/files/config_YOURVALUE/sync';

Ich bin schon so lange drupal Nutzer, dass ich mich nicht mehr an die erste Version erinnern kann. Eine 5er oder noch davor? Wer noch eine Installation mit Drupal 8 laufen hat, wird schon seit längerem genervt, man möge doch bitte auf die 9er Version umsteigen. Und jetzt ist es soweit: Einstellung der Updates, Upgrade-Zwang.

Natürlich sehe ich es ein, ein möglichst aktuelles System zu betreiben und eine Installation deren Updates auslaufen geht einfach nicht. Auf der anderen Seite möchte man natürlich wenig Arbeit haben. Wäre schön.

Schon mal das abklären der notwendigen und hinreichenden Versionen der vorausgesetzten Software geräd zu einer Klick-Origie mit etlichen Browser-Fenstern. Geht das nicht auf einer einzigen Seite, liebe Drupal Community? Und der Update-Kater ist groß, schafft der Miet-Server doch gerade so die rudimentären Vorgaben, nicht jedoch die empfohlenen.

Ich hatte die Seite von Grund auf mit Drupal 8 neu aufgesetzt. Also eine perfekte Drupal 8 Standart-Installation. Da geht doch nichts schief?

Klar geht es schief. Die neue 9.3.0 Code Base gibt beim Versuch ein Update zu starten lapidar eine STOP Meldung aus: In den Settings fehle das 'config_sync_directory'. Tja, weshalb hat Drupal 8 das nicht gesetzt? Also erst mal wieder zurück zu 8er Code Base ... geht nicht mehr. Danke Drupal!

Zurück zur 9er Code Base und das Internet zu Rate gezogen. Die angepriesene Lösung im Drupal-Forum ist genauso verwirrend wie diese hier, weil für Windows. Und, meiner unmaßgeblichen Meinung nach, falsch. Meine 8er Drupal Installation hat nach der Installation bei der Variable die Endung '/sync'. Und die sollte man mitnehmen.

In der Drupal 8 Standard-Installation wird zwar eine Variable für 'sync' definiert, die nennt sich 'config_directories'. Dort steht dann auch der Teil, den man braucht. Also schon mal bitte kein extra Verzeichnis anlegen.

Drupal 9 benötigt jedoch im 'settings' Array die Variable 'config_sync_directory' mit dem Wert, der bei Drupal 8 noch 'sync' mitgegeben wurde.

Wer also von Drupal 8 die settings.php mit schleppt und dort die folgenden Definition findet:

$config_directories['sync'] = 'sites/default/files/config_YOURVALUE/sync';

der darf diese Zeile in der 'settings.php' für Drupal 9.3 wie folgt ändern:

$settings['config_sync_directory'] = 'sites/default/files/config_YOURVALUE/sync';

Die Referenz ändert sich von 'config_directories' zu 'settings', der Teil 'sync' wird 'config_sync_directory'. Wer das sofort aus der Forum Meldung entnimmt, Hut ab. Ebenso, das der '/sync' Schwanz unter Linux dazu kommt, beziehungsweise nicht gelöscht werden darf.