Après une mise à jour de WordPress, les fichiers sont neufs mais la base de données porte encore l’ancien numéro de version. WordPress bloque alors l’administration et demande de mettre la base à niveau : d’habitude, un clic suffit. Si l’écran revient sans cesse, le nouveau numéro n’est pas enregistré ou pas relu, souvent à cause d’un cache objet.
Pourquoi cette erreur apparaît
- Un cache objet (Redis, Memcached, APCu) garde en mémoire l’ancien numéro de version de la base et continue de le fournir à chaque chargement.
- L’utilisateur de la base de données n’a pas le droit de modifier les tables, ou la base refuse l’écriture (quota atteint, table endommagée).
- La mise à jour des fichiers ne s’est pas terminée : une partie de WordPress est à la nouvelle version, une autre non.
- Sur une très grosse base, la mise à niveau dépasse le délai d’exécution de PHP et s’arrête avant d’enregistrer le nouveau numéro.
Comment corriger le problème
Lancer la mise à niveau une seule fois
Cliquez une seule fois sur le bouton de mise à jour de la base et laissez la page aller au bout, même si elle met du temps. Si l’écran de confirmation apparaît et que l’administration redevient normale ensuite, tout est réglé.
Vider le cache objet
Si l’écran revient, videz le cache objet de l’hébergement : certains hébergeurs proposent un bouton pour Redis ou Memcached dans l’espace client. L’ancienne version de la base y reste parfois mémorisée et relance l’écran à chaque page, une cause fréquente de ces boucles.
Contourner le cache objet le temps de l’opération
Faute de bouton, renommez par FTP le fichier wp-content/object-cache.php en object-cache.php.off : WordPress lit alors la base directement. Relancez la mise à niveau, vérifiez que l’administration revient, faites vider le cache objet (par l’hébergeur ou l’extension qui le gère) puis redonnez son nom au fichier, sinon l’ancienne valeur réapparaîtra.
Passer par la ligne de commande
Avec WP-CLI, la mise à niveau affiche une vraie erreur si elle échoue, là où le navigateur se contente de revenir au même écran. Comparez ensuite le numéro enregistré en base avec celui des fichiers : ils doivent être identiques.
wp core update-db
wp option get db_version
grep wp_db_version wp-includes/version.php
Vérifier les droits SQL et les fichiers du cœur
Si la commande signale une erreur d’écriture, demandez à l’hébergeur si l’utilisateur de la base dispose des droits ALTER, CREATE et INDEX et si le quota de la base est atteint. Si des fichiers de WordPress ne correspondent pas à la version installée, renvoyez par FTP les dossiers wp-admin et wp-includes de cette même version.
wp core verify-checksums
Exportez la base avant de relancer la mise à niveau ou de renommer object-cache.php, et ne restaurez jamais une ancienne base sans les fichiers qui l’accompagnent.
Un autre message d'erreur ? Collez-le dans le décodeur : il le reconnaît et vous oriente vers la bonne fiche.
Ouvrir le décodeur