Résolution des problèmes de mise à jour de la base de données
Avant de commencer à résoudre les problèmes liés à la mise à jour de la base de données, effectuez toujours une sauvegarde de la base de données et du code source.
Si des problèmes empêchent l'exécution sûre des mises à jour de la base de données, update.php signalera une erreur.
Lisez attentivement le message d'erreur pour résoudre le problème.
Modules ou thèmes incorrects
Dans certains cas, update.php peut signaler la présence de modules ou thèmes non valides. Cela se produit lorsqu'un module ou un thème est mentionné dans le fichier de configuration core.extension.yml, mais est absent ou incompatible avec le site.
Pour résoudre ce problème, assurez-vous d'abord que vous n'avez pas importé une mauvaise version de la configuration core.extension.yml. Ensuite, poursuivez le dépannage en fonction du message spécifique affiché. Relancez update.php dès que le problème est résolu.
Module ou thème manquant
1. Si update.php indique qu'un module ou un thème est manquant et que le fichier core.extension.yml utilisé est correct, vérifiez que le module ou thème est présent dans la base de code du site.
- Par exemple, consultez les dossiers [site-root]/modules et [site-root]/sites/all/modules pour trouver un dossier correspondant au nom du module manquant. [site-root]/modules a la priorité sur [site-root]/sites/all/modules, mais les deux dossiers sont scannés pour trouver les modules.
2. Si le dossier est complètement absent, trouvez le module sur Drupal.org et essayez de le retélécharger dans le dossier de vos modules. Assurez-vous de télécharger une version compatible avec votre version de Drupal.
3. Si le dossier est présent, il se peut que des fichiers manquent ou que le contenu soit corrompu. Vous pouvez également trouver le module sur Drupal.org et essayer de le retélécharger. Assurez-vous de télécharger une version compatible avec votre version de Drupal. Écrasez le dossier existant avec la nouvelle version téléchargée.
4. Si le module n'a pas été téléchargé depuis Drupal.org, essayez de retrouver sa source originale.
- Si le module est spécifique à votre site ou application, essayez de retrouver sa version originale et de le rajouter dans le dossier des modules.
- Si le module a été créé par un tiers mais n'est pas hébergé sur Drupal.org (par exemple fourni sur GitHub), essayez de trouver une version valide et de la retélécharger.
5. En dernier recours, si le module ne peut être trouvé, vous pouvez essayer de supprimer son entrée dans core.extension.yml. Sachez que cela peut provoquer d'autres erreurs fatales sur le site.
6. Une fois le module restauré, relancez update.php.
Module ou thème incompatible avec la version installée de Drupal
1. Si update.php indique qu'un module ou un thème est incompatible avec la version installée de Drupal, vous devez soit mettre à jour Drupal, soit mettre à jour le module ou le thème.
2. Commencez par vérifier la version du noyau Drupal installée. Cela peut être consulté dans la page Rapports - Rapport d'état (Reports - Status report).
3. Ensuite, vérifiez la version du module ou thème installé en lisant le fichier modules/modulename/modulename.info.yml. Vous devriez voir au moins une des lignes suivantes en haut du fichier :
core: 8.x core_version_requirement: ^8.8 || ^9
Cela signifie que le module est compatible avec Drupal 8.8+ et Drupal 9. La clé core: 8.x est optionnelle ici et peut être présente ou absente. (Pour plus d'informations sur la clé core_version_requirement.)
core_version_requirement: ^9
Cela signifie que le module est compatible uniquement avec Drupal 9. (Informations supplémentaires sur la clé core_version_requirement.)
core: 8.x
Cela signifie que le module est compatible uniquement avec Drupal 8.
core: 7.x
Cela signifie que le module est compatible uniquement avec Drupal 7.
4. Si la version du noyau Drupal est trop ancienne pour le module installé, téléchargez une mise à jour du noyau Drupal.
5. Si la version du module est trop ancienne pour la version du noyau Drupal, téléchargez ou installez une version mise à jour du module.
6. Si aucune version compatible du module ou du noyau n'est disponible, il peut être nécessaire de restaurer une version précédente à partir d'une sauvegarde.
7. Dès que des versions compatibles du noyau Drupal et du module ou thème sont présentes dans la base de code, relancez update.php.
Module ou thème incompatible avec la version PHP installée
1. Si un module ou un thème est incompatible avec la version PHP installée, trouvez dans le fichier modules/modulename/modulename.info.yml une ligne similaire à :
php: 7.3
2. Option 1. Installez une version du module ou thème qui supporte la version PHP de votre site.
3. Option 2. Changez la version PHP de votre site vers une version compatible avec le module.
4. Lorsque des versions compatibles de PHP et du module ou thème concerné sont présentes dans la base de code, relancez update.php.