Impossible de mettre à jour les extensions WordPress

Vous tentez de mettre à jour WordPress ou un plugin, mais la mise à jour échoue avec le message :

« La mise à jour ne peut pas être installée car certains fichiers n’ont pas pu être copiés. Ceci est généralement dû à des incohérences dans les droits des fichiers. »

Pas de panique ! Ce problème est fréquent et se résout généralement en ajustant les permissions des fichiers ou en vérifiant l’espace disque disponible. Voici une solution simple et efficace.

🔧 Vérifier et corriger les permissions des fichiers

Les fichiers de WordPress doivent être accessibles par l’utilisateur du serveur web (généralement www-data sous Apache/Nginx sur Debian/Ubuntu). Exécutez les commandes suivantes en SSH :

sudo chown -R www-data:www-data /var/www/www/
sudo find /var/www/www/ -type d -exec chmod 755 {} \;
sudo find /var/www/www/ -type f -exec chmod 644 {} \;

Il faudra modifier le chemin vers votre WordPress !

Explication :

  • chown -R www-data:www-data : Change le propriétaire des fichiers en www-data (utilisateur du serveur web).
  • chmod 755 : Assure que les dossiers sont accessibles.
  • chmod 644 : Rend les fichiers lisibles et éditables par le serveur.

📁 Vérifier l’espace disque disponible

Un manque d’espace peut empêcher WordPress de copier les fichiers. Pour vérifier l’espace disque :

df -h

Si le disque est plein, supprimez les fichiers inutiles ou augmentez l’espace disponible.

📃 Forcer WordPress à utiliser le mode direct

Si votre serveur est configuré pour utiliser FTP au lieu d’un accès direct aux fichiers, ajoutez cette ligne à votre fichier wp-config.php :

define('FS_METHOD', 'direct');

Cela permet à WordPress de gérer directement les fichiers sans passer par un serveur FTP.

🛠️ Supprimer les fichiers temporaires de WordPress

Des fichiers corrompus dans le dossier de mise à jour peuvent bloquer l’installation. Essayez de supprimer ces fichiers :

sudo rm -rf /var/www/my_webapp/www/wp-content/upgrade/*

Puis, relancez la mise à jour.

Vérifier les logs d’erreurs

Si le problème persiste, consultez les journaux d’erreurs du serveur web :

tail -f /var/log/apache2/error.log  # Pour Apache
tail -f /var/log/nginx/error.log  # Pour Nginx

Vous pouvez aussi activer le mode debug de WordPress en ajoutant ces lignes à wp-config.php :

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

Les erreurs seront enregistrées dans wp-content/debug.log.

🎉 Conclusion

Après avoir appliqué ces corrections, vous devriez pouvoir effectuer la mise à jour sans problème !

Si vous avez d’autres astuces ou questions, n’hésitez pas à les partager en commentaire. 🚀🙂