web-dev-qa-db-fra.com

Le site ne fonctionne pas après la mise à jour de la base de données

J'ai cloné un dépôt d'un site sur mon ordinateur local, importé la base de données et exécuté "Composer install --with-dependencies" une fois l'installation terminée, je suis entré sur le site local et cela a fonctionné, puis j'ai exécuté "drush updb -y" et il a montré quelques erreurs et avertissements:

    The following module is missing from the file system: aspambot       [warning]
bootstrap.inc:268
The following module is missing from the file system: phpmailer      [warning]
bootstrap.inc:268

...

PHP  27. include() /home/www/sites/zb/web/vendor/composer/ClassLoader.php:444
Drush command terminated abnormally due to an unrecoverable error.   [error]
Error: Interface 'Doctrine\Common\Reflection\ClassFinderInterface'
not found in
/home/www/sites/zb/web/core/lib/Drupal/Component/Annotation/Reflection/MockFileFinder.php,
line 14
The external command could not be executed due to an application     [error]
error.
PHP Fatal error:  Interface 'Doctrine\Common\Reflection\ClassFinderInterface' not found in /home/www/sites/zb/web/core/lib/Drupal/Component/Annotation/Reflection/MockFileFinder.php on line 14

Je suis nouveau sur Drupal, alors aidez-moi à surmonter ces erreurs, je comprends que la solution peut sembler simple pour certains, mais je ne sais pas quoi faire. Je vous remercie!

5
Rusletov

Ajouter "doctrine/common":">2.8" en conflit dans votre fichier composer, puis exécutez composer update.

"conflict": {
    "drupal/drupal": "*",
    "doctrine/common":">2.8"
},

Voir problème: https://www.drupal.org/project/drupal/issues/2986725

5
albertski

Merci d'avoir donné un lien vers https://www.drupal.org/project/drupal/issues/2986725 , où ce problème est discuté.

Cette question a été classée comme "fonctionne comme prévu". Si vous regardez les derniers commentaires sur la question, vous comprendrez pourquoi. Le problème est dû au cache PHP. Si vous videz le cache (ou redémarrez PHP ou redémarrez votre ordinateur ou utilisez PHP sur un conteneur Docker qui ne contient pas les mauvaises données de chargement automatique dans son cache), le problème disparaît.

Vider le cache a moins d'effets secondaires que de ne jamais mettre à jour vers la version actuelle de doctrine/common.

1
benjifisher