După actualizarea Drupal 9, nu mai pot folosi sincronizarea configurației pentru a implementa configurația în mediul Acquia Cloud:
Importați modificările de configurare listate? (da/nu) [da]:
> > [eroare] Drupal\Core\Config\ConfigImporterException: Au existat erori la validarea sincronizării configurației.
> Acest import este gol și, dacă este aplicat, ar șterge toată configurația dvs., așa că a fost respins.în Drupal\Core\Config\ConfigImporter->validate() (linia 750 din /mnt/www/html/d9readiness/docroot/core/lib/Drupal/Core/Config/ConfigImporter.php).
>
> În linia 360 ConfigImportCommands.php:
>
> Importul a eșuat din următoarele motive:
> Acest import este gol și, dacă este aplicat, ar șterge toată configurația dvs.
> deci a fost respins.
>
>
Setările de configurare sunt aceleași care funcționau înainte de actualizare:
$ grep -Rn '../config/default' .
./docroot/sites/default/settings.php:258:// $config_directories['vcs'] = '../config/default';
./docroot/sites/default/settings.php:259:// $config_directories['sync'] = '../config/default';
./docroot/sites/default/settings.php:262:$settings['config_sync_directory'] = '../config/default';
./docroot/sites/default/settings.php:263:$settings['config_vcs_directory'] = '../config/default';
Bănuiesc că Acquia îmi suprascrie setările undeva în afara rădăcinii documentului, dar nu o găsesc.
Mediul local este Lando cu noul-ish acquia
rețetă, deci poate că există o configurație moștenită care vine cu acli
sau ceva.
Sper să instalez BLT 12 de îndată ce mă ocup de ultimele două erori ciudate în localul meu; poate că asta mă va ajuta să remediez problema de sincronizare a configurației, deoarece vine cu propriile suprascrieri de configurare.
Acest lucru poate fi legat de următoarea eroare raportată de Stare upgrade modul inainte de Upgrade Drupal 9:
https://www.drupal.org/project/upgrade_status/issues/3229552#comment-14209685
ACTUALIZAȚI:
prin Drupal Slack
mcdruid acum 6 ore
Suspiciunea mea este că Acquia îmi trece peste setările undeva
... probabil că nu vă răspunde direct la întrebare, dar ar trebui să puteți verifica oricare dintre setări cu, de ex.
$ drush ev 'print_r(\Drupal\Core\Site\Settings::get("config_sync_directory"));'
Am încercat acest lucru și într-adevăr confirmă că Acquia folosește o configurație diferită, care nu este în mine setări.php
.
Iată rezultatul rulării acelei comenzi în localul meu și pe Acquia Cloud:
$ lando drush ev 'print_r(\Drupal\Core\Site\Settings::get("config_sync_directory"));'
../config/default%
$ lando drush @dev ev 'print_r(\Drupal\Core\Site\Settings::get("config_sync_directory"));'
Introduceți fraza de acces pentru cheia „/var/www/.ssh/id_rsa”:
/mnt/www/html/d9readiness/docroot/sites/default/files/config_315f86d0f57aa166d80058769033a13b1b4823d0/syncConection to d9readiness.ssh.devcloud.comacquia-site
$ lando drush @test ev 'print_r(\Drupal\Core\Site\Settings::get("config_sync_directory"));'
Introduceți fraza de acces pentru cheia „/var/www/.ssh/id_rsa”:
/mnt/www/html/d9readiness/docroot/sites/default/files/config_72c878fc6029f4e12c65fa9d1ce2afd4c3a94575/syncConnection to d9readiness.ssh.devcloud.closed.sites.com
Acest lucru demonstrează că Acquia suprascrie setările mele de configurare.
Doar pentru a verifica acest lucru, am căutat directorul de configurare Dev din proiectul meu local și nu au fost returnate rezultate:
$ grep -Rn 'sites/default/files/config_315f86d0f57aa166d80058769033a13b1b4823d0/sync' .
$
În cazul în care segmentul de cale a directorului fișierelor publice a fost furnizat de stream wrapper, extindere variabilă sau concatenare de șiruri, am încercat din nou doar cu identificatorul de configurare:
$ grep -Rn '315f86d0f57aa166d80058769033a13b1b4823d0' .
$
Niciun rezultat din nou. Această configurație vine cu siguranță dintr-un loc ciudat.
Ar putea fi asta cere
aproape de sfarsitul setări.php
?
// Pe Acquia Cloud, acest fișier include configurează Drupal să utilizeze corect
// bază de date în fiecare mediu de site (Dev, Stage sau Prod). Pentru a folosi asta
// settings.php pentru dezvoltare pe stația de lucru locală, setați $db_url
// (Drupal 5 sau 6) sau $baze de date (Drupal 7 sau 8) așa cum este descris în comentariile de mai sus.
dacă (fișier_există('/var/www/site-php')) {
require('/var/www/site-php/d9readiness/d9readiness-settings.inc');
}
Notă: această configurație are cel puțin doi ani. Proiectul chiar nu se numește d9pregătirea
(imaginați-vă că se numește client-proiect-nume
).