Skip to content

Tout pour WordPress, le développement web — et plus encore

🔧 Comment corriger l'erreur « Another update in progress » dans WordPress

🔧 Comment corriger l'erreur « Another update in progress » dans WordPress

Vous vous rendez dans le panneau d’administration pour mettre à jour WordPress vers la dernière version, et voilà: un mur. «Une autre mise à jour est actuellement en cours.» Les boutons de mise à jour sont verrouillés, aucun compte à rebours ne s’affiche, et vous ne savez pas s’il faut patienter ou intervenir vous-même.

Ce problème est très répandu. Le mécanisme intégré de WordPress définit un verrou core_updater.lock pendant les mises à jour automatiques du cœur afin d’éviter que deux mises à jour ne se chevauchent. Ce verrou est censé se libérer automatiquement au bout de 15 minutes. Mais cela ne se produit pas toujours: la base de données «se souvient» du verrou et le conserve pendant des heures, voire des jours.

Voici trois façons de supprimer ce verrou: de la plus simple (un clic) à la plus rapide (une commande en terminal). Choisissez celle qui correspond à votre niveau d’accès au site.

💡 Aperçu rapide:

  • Installez l’extension gratuite Fix Another Update In Progress et cliquez sur un bouton; cette solution fonctionne si vous disposez d’un accès administrateur.
  • Recherchez et supprimez la ligne core_updater.lock dans la table wp_options via phpMyAdmin; cette méthode est destinée à ceux qui ne peuvent pas accéder au panneau d’administration.
  • Exécutez wp option delete core_updater.lock via WP-CLI; une option instantanée pour les développeurs et toute personne à l’aise avec le terminal.

Pourquoi l’erreur «Une autre mise à jour est actuellement en cours» apparaît

WordPress se protège contre les mises à jour parallèles du cœur. Lorsqu’une mise à jour automatique démarre, le système crée un enregistrement temporaire avec la clé core_updater.lock dans la table wp_options. Tant que cette clé existe, il est impossible de lancer une autre mise à jour, et vous voyez le message «Une autre mise à jour est actuellement en cours».

Par conception, le verrou se libère automatiquement après 15 minutes. En pratique, cela échoue souvent. Les causes fréquentes incluent l’interruption du processus de mise à jour en arrière-plan par manque de mémoire sur l’hébergement, un conflit avec une extension de cache, ou la fermeture prématurée de l’onglet du navigateur pendant la mise à jour.

Résultat: le verrou persiste, le panneau des mises à jour est bloqué. Vous pouvez le réinitialiser de force de trois manières.

Méthode 1: l’extension Fix Another Update In Progress

La voie la plus sûre consiste à éviter de toucher manuellement à la base de données et à laisser une extension de confiance faire tout le travail à votre place.

Installez Fix Another Update In Progress depuis le répertoire WordPress.org. L’extension est gratuite et ne fait qu’une seule chose: elle recherche la clé core_updater.lock dans wp_options et la supprime en un clic.

Après activation, allez dans Réglages → Fix Another Update In Progress. Si le verrou est actif, vous verrez un avertissement et un bouton:

Fix Another Update In Progress plugin settings page

Cliquez sur «Fix WordPress Update Lock». L’extension supprime instantanément l’enregistrement de la base de données, et vous verrez une confirmation:

Message confirming the update lock has been removed

Retournez maintenant dans Tableau de bord → Mises à jour; la page est de nouveau active, et WordPress est prêt pour la mise à jour. Vous pouvez conserver l’extension (elle n’alourdit pas le site) ou la supprimer jusqu’à la prochaine fois.

Quelques remarques. L’extension n’a pas été mise à jour depuis 2023 et n’est pas officiellement testée avec les versions de WordPress supérieures à 6.2. Dans la pratique, cependant, elle fonctionne correctement jusqu’à WordPress 6.7, car la structure de la table wp_options n’a pas changé et l’entrée core_updater.lock reste un simple enregistrement qui peut être supprimé avec un appel standard delete_option. Si vous préférez ne pas installer une extension «avec un historique», passez aux méthodes 2 et 3.

Méthode 2: suppression manuelle du verrou via phpMyAdmin

Lorsque le panneau d’administration est inaccessible (écran blanc, erreur critique) ou que vous ne souhaitez tout simplement pas installer d’extension supplémentaire, vous pouvez réinitialiser le verrou directement dans la base de données. Vous aurez besoin d’un accès à phpMyAdmin, disponible dans tout panneau de contrôle d’hébergement (cPanel, ISPmanager, Plesk).

Connectez-vous à votre panneau d’hébergement, trouvez la section «Bases de données» et ouvrez phpMyAdmin:

phpMyAdmin icon in the databases section of cPanel

Dans la colonne de gauche, sélectionnez la base de données de votre site WordPress. Trouvez la table wp_options (le préfixe peut différer si vous l’avez modifié lors de l’installation) et cliquez sur le bouton «Parcourir»:

Browse button for the wp_options table in phpMyAdmin

Une liste de lignes apparaît. Trouvez la ligne avec le nom d’option core_updater.lock et cliquez sur le bouton rouge «Supprimer» à côté:

Deleting the core_updater.lock row from the wp_options table

phpMyAdmin supprime la ligne. Retournez maintenant dans le panneau d’administration WordPress; la page des mises à jour est déverrouillée.

Si la table contient trop de lignes pour trouver visuellement core_updater.lock, utilisez la fonction de recherche: cliquez sur l’onglet «Rechercher» dans phpMyAdmin, saisissez core_updater.lock dans le champ option_name, cliquez sur «OK», et la ligne en question apparaîtra.

⚠️ Avant de supprimer quoi que ce soit dans phpMyAdmin, assurez-vous que la mise à jour en arrière-plan est bien terminée ou arrêtée. Si le processus est toujours en cours, supprimer le verrou de force peut entraîner un remplacement incomplet des fichiers du cœur. Laissez au site 5 à 10 minutes après l’apparition de l’erreur, puis procédez.

Méthode 3: réinitialisation instantanée via WP-CLI

Pour ceux qui travaillent avec le site via le terminal, la méthode la plus rapide est une simple commande WP-CLI. Ouvrez une console SSH vers le serveur, placez-vous dans le dossier racine de WordPress et exécutez:

1wp option delete core_updater.lock

Si le verrou était actif, vous verrez le message Success: Deleted 'core_updater.lock' option.. C’est fait; vous pouvez maintenant lancer la mise à jour du cœur:

1wp core update

Accessoirement, la commande wp core update vous avertira elle-même de la présence d’un verrou obsolète et vous suggérera de supprimer d’abord core_updater.lock. Il s’agit d’un comportement WP-CLI officiellement documenté, pas d’une astuce de contournement.

Cette méthode est également pratique car elle peut être automatisée: ajoutez le nettoyage du verrou à votre script de déploiement ou à une tâche Cron pour la maintenance régulière. Mais si vous n’avez jamais travaillé avec WP-CLI auparavant, les méthodes 1 et 2 sont suffisantes; elles résolvent entièrement le problème.

Vidéo: trois méthodes en 3 minutes

Une courte vidéo montre les trois méthodes sur un site réel, de la découverte de l’erreur jusqu’au clic sur le bouton «Mettre à jour»:

⁉️🤔 Foire aux questions

Pourquoi l’erreur ne disparaît-elle pas après 15 minutes comme promis?

La réinitialisation automatique du verrou est conçue pour l’achèvement normal du processus en arrière-plan. Si la mise à jour a été interrompue (PHP a manqué de mémoire, le processus d’hébergement a planté, vous avez fermé l’onglet), WordPress ne reçoit jamais le signal «terminé» et laisse core_updater.lock dans la base de données. Le minuteur de 15 minutes repose sur WP_Upgrader qui appelle wp_schedule_single_event, mais si le Cron de votre hébergement passe par un planificateur système, l’événement peut ne jamais s’exécuter, et le verrou persiste pendant des jours. La suppression manuelle est la seule solution garantie.

Dois-je supprimer l’extension Fix Another Update In Progress après avoir corrigé l’erreur?

Pas nécessairement. L’extension pèse quelques kilo-octets, n’ajoute aucune charge sur le frontend et n’enregistre aucun hook supplémentaire. Vous pouvez la laisser en place; la prochaine fois qu’un verrou reste bloqué, la correction se fera en un clic. Mais si votre site a une politique «pas d’extension superflue», n’hésitez pas à la supprimer: réinitialiser le verrou via phpMyAdmin ou WP-CLI prend 30 secondes.

Puis-je empêcher cette erreur de se produire à l’avenir?

Vous ne pouvez pas l’éliminer complètement; c’est un mécanisme standard de WordPress. Mais trois choses réduisent la probabilité. Ne lancez pas de mise à jour manuelle si vous voyez une notification concernant une mise à jour automatique en arrière-plan. Configurez le Cron via le planificateur système du serveur au lieu de wp-cron.php; cela supprime la dépendance vis-à-vis des visiteurs. Augmentez la limite de mémoire PHP (memory_limit) à au moins 256 Mo: le manque de mémoire est la cause la plus fréquente des interruptions de mise à jour en arrière-plan.

Quel est le risque de supprimer le verrou de force pendant une mise à jour active?

Si vous supprimez core_updater.lock pendant que WordPress remplace les fichiers du cœur, vous vous retrouvez avec une installation partiellement mise à jour, la moitié des fichiers de la nouvelle version et l’autre moitié de l’ancienne. Dans le meilleur des cas, vous obtenez une erreur lors de la connexion au panneau d’administration; dans le pire des cas, un écran blanc. Avant d’utiliser l’une de ces méthodes, attendez 5 à 10 minutes après l’apparition de l’erreur. Vous pouvez vérifier la présence d’un processus en arrière-plan via le gestionnaire de processus de l’hébergement ou en exécutant top/htop en SSH.

Faut-il avoir peur de cette erreur

«Une autre mise à jour est actuellement en cours» semble alarmant, mais techniquement, ce n’est qu’une ligne dans la base de données. WordPress n’est pas cassé, vos données sont intactes, le site fonctionne; le cœur a simplement mis en place une barrière temporaire.

Pour les situations rapides, prenez l’extension Fix Another Update In Progress: un bouton, cinq secondes, c’est réglé. Pas d’accès administrateur? phpMyAdmin résout le problème en une minute. Vous travaillez en console? wp option delete core_updater.lock et passez à autre chose. Chacune des trois méthodes vous redonne le contrôle total sur les mises à jour de votre site.