Comment corriger l’erreur ‘Unable to create directory’ lors de l’upload de fichiers ?

Comment corriger l'erreur 'Unable to create directory' lors de l'upload de fichiers ? Comment corriger l'erreur 'Unable to create directory' lors de l'upload de fichiers ? image
4.7/5 - (444 votes)

Pourquoi l’erreur ‘Unable to create directory’ apparaît-elle ?

L’erreur ‘Unable to create directory’ lors de l’upload de fichiers est fréquente sur WordPress. Elle se produit généralement à cause de permissions de fichiers incorrectes, d’un mauvais chemin de dossier, ou de limitations du serveur. Comprendre les causes vous aidera à appliquer la bonne solution.

Vérifier les permissions des dossiers

Les permissions définissent qui peut lire, écrire ou exécuter des fichiers sur votre serveur. Pour que WordPress puisse créer des répertoires, le dossier wp-content/uploads doit avoir les bonnes permissions.

Comment modifier les permissions via FTP ou cPanel

  • Connectez-vous à votre site via FTP (FileZilla, etc.) ou cPanel.
  • Naviguez vers /wp-content/uploads.
  • Faites un clic droit sur le dossier ‘uploads’ et sélectionnez ‘Permissions de fichier’.
  • Définissez la valeur sur 755 pour les dossiers et 644 pour les fichiers.
  • Cochez ‘Appliquer aux sous-dossiers et fichiers’ si disponible.

Après modification, essayez à nouveau d’uploader un fichier. Si l’erreur persiste, passez à l’étape suivante.

Créer manuellement le dossier ‘uploads’

Parfois, le dossier uploads n’existe pas encore. Créez-le manuellement pour résoudre le problème.

  • Via FTP, allez dans /wp-content/.
  • Créez un nouveau dossier nommé ‘uploads’.
  • Définissez ses permissions sur 755.
  • À l’intérieur, créez un sous-dossier ‘2023’ (ou l’année en cours) et un sous-dossier ’01’ (ou le mois).
  • Assurez-vous que ces sous-dossiers ont aussi les permissions 755.

Vérifier le chemin du dossier de téléchargement

WordPress stocke le chemin du dossier de téléchargement dans la base de données. Si ce chemin est incorrect, l’erreur peut survenir.

Modifier le chemin via la base de données

  • Accédez à phpMyAdmin (via cPanel ou votre hébergeur).
  • Sélectionnez la base de données de votre site WordPress.
  • Ouvrez la table wp_options.
  • Cherchez la ligne avec option_name égal à upload_path.
  • Modifiez option_value pour mettre wp-content/uploads (ou un chemin absolu comme /home/user/public_html/wp-content/uploads).
  • Enregistrez les modifications.

Vous pouvez aussi utiliser un plugin comme ‘Change Uploads Folder’ pour modifier ce chemin sans toucher à la base de données.

Vérifier le propriétaire du dossier (ownership)

Sur un serveur Linux, le propriétaire du dossier doit correspondre à l’utilisateur du serveur web (souvent ‘www-data’ ou ‘apache’). Si le dossier appartient à un autre utilisateur, WordPress ne peut pas y écrire.

  • Connectez-vous en SSH à votre serveur.
  • Exécutez la commande : ls -ld /chemin/vers/wp-content/uploads pour voir le propriétaire actuel.
  • Changez le propriétaire avec : chown -R www-data:www-data /chemin/vers/wp-content/uploads (remplacez ‘www-data’ par l’utilisateur de votre serveur).
  • Vérifiez que les permissions sont correctes (755 pour les dossiers).

Désactiver les plugins ou thèmes conflictuels

Certains plugins de sécurité, de cache ou de gestion de médias peuvent bloquer la création de dossiers. Pour tester :

  • Désactivez tous les plugins via le panneau d’administration ou en renommant le dossier wp-content/plugins via FTP.
  • Si l’erreur disparaît, réactivez les plugins un par un pour identifier le coupable.
  • Changez temporairement de thème (par exemple, Twenty Twenty-Three) pour vérifier si le thème actuel est en cause.

Augmenter la mémoire PHP et les limites d’upload

Des limites trop basses peuvent empêcher l’upload de fichiers volumineux et provoquer l’erreur. Modifiez le fichier wp-config.php :

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_UPLOAD_SIZE', '64M');

Vous pouvez aussi ajuster ces valeurs via le fichier .htaccess ou php.ini.

Vérifier les logs d’erreur du serveur

Les logs du serveur peuvent contenir des détails précis sur la cause de l’erreur ‘Unable to create directory’. Consultez les logs d’erreur Apache ou Nginx via cPanel ou votre hébergeur.

  • Dans cPanel, allez dans ‘Logs d’erreur’ ou ‘Error Log’.
  • Recherchez les entrées contenant ‘unable to create directory’ ou ‘Permission denied’.
  • Ces informations vous guideront vers la solution adaptée.

Contacter votre hébergeur

Si aucune des solutions ci-dessus ne fonctionne, le problème peut venir de la configuration du serveur (par exemple, un répertoire parent verrouillé ou un quota de fichiers atteint). Contactez le support de votre hébergeur en leur fournissant les détails de l’erreur.

Prévenir l’erreur à l’avenir

  • Maintenez les permissions des dossiers correctes (755 pour les dossiers, 644 pour les fichiers).
  • Utilisez un plugin de sécurité qui ne bloque pas les uploads.
  • Mettez régulièrement à jour WordPress, les thèmes et les plugins.
  • Surveillez l’espace disque et les limites de votre serveur.

En suivant ces étapes, vous pourrez corriger l’erreur ‘Unable to create directory’ lors de l’upload de fichiers et retrouver un fonctionnement normal de votre site. N’oubliez pas de toujours faire une sauvegarde avant de modifier des fichiers importants.

Photo by Joshua Hoehne on Unsplash

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *