Dépannage WordPress

Erreur « Failed to write file to disk » dans WordPress

Cette erreur signifie que PHP a reçu le fichier mais n’a pas pu l’écrire à l’emplacement attendu. Elle se distingue d’un fichier trop volumineux ou d’un format refusé : le diagnostic porte sur le stockage et les droits effectifs.

Lire le conseil

Un fichier refuse de s’enregistrer dans la médiathèque et WordPress affiche « Failed to write file to disk ». Avant de toucher aux permissions, il faut savoir à quelle étape l’écriture a échoué. Le dossier temporaire de PHP et le répertoire qui conserve les médias ne sont pas forcément sur le même volume, ni soumis aux mêmes limites.

Identifier le message avant de chercher le dossier

Dans les erreurs de téléversement PHP, UPLOAD_ERR_CANT_WRITE correspond au code 7. Le code 6, UPLOAD_ERR_NO_TMP_DIR, signale un dossier temporaire manquant. Un message d’écriture ne prouve pas que le fichier a été reçu intégralement, puis déposé dans wp-content/uploads.

WordPress traite ces erreurs PHP avant de déplacer le fichier vers son emplacement final. S’il échoue à cette dernière étape, il peut afficher un autre message indiquant que le fichier n’a pas pu être déplacé vers un chemin donné. Cette distinction permet d’orienter la recherche ; elle ne suffit pas, à elle seule, à désigner la cause sur votre hébergement.

Relevez le texte exact, l’heure et le contexte : ajout d’un média, import d’une extension ou formulaire utilisant son propre traitement. Retrouvez l’événement correspondant dans les journaux accessibles. Un écran traduit ou une extension peut reformuler l’erreur ; conservez le code PHP lorsqu’il est disponible, sans exporter un journal complet contenant des données personnelles ou des accès.

Contrôler le temporaire réellement utilisé par PHP

La directive upload_tmp_dir définit le dossier temporaire des téléversements. PHP peut utiliser le temporaire système si cette valeur n’est pas définie ou si le dossier configuré n’est pas accessible en écriture. Lorsque open_basedir restreint les chemins autorisés, ce repli doit lui aussi être permis. Ajouter un dossier au hasard dans WordPress ne règle donc pas nécessairement le problème.

Demandez à l’hébergeur de vérifier la valeur effective pour le site et l’identité sous laquelle PHP traite la requête web. Un accès FTP fonctionnel ou une commande lancée avec votre compte SSH ne démontre pas que ce processus dispose des mêmes droits. La configuration PHP en ligne de commande peut également différer de celle du site.

Le contrôle doit porter sur le chemin effectivement retenu : existence, traversée des dossiers parents et possibilité d’y écrire avec cette identité. Ne laissez pas une page de diagnostic exposant la configuration du serveur en accès public. Une correction du temporaire relève de la configuration de l’hébergement ; elle se prépare avec un retour arrière et les règles propres à ce serveur.

Distinguer espace libre, quota et blocage du volume

Un espace libre affiché dans le panneau d’hébergement ne répond pas à toutes les questions. Il faut contrôler la ressource qui porte le temporaire, puis celle de la destination si le message concerne le déplacement. Ces emplacements peuvent avoir des capacités et des restrictions différentes.

  • Espace du volume : reste-t-il de la place là où l’écriture échoue, et pas seulement sur un autre disque du serveur ?
  • Quota du compte : la limite de cet hébergement est-elle atteinte malgré de l’espace disponible sur le volume ?
  • Nombre de fichiers : une limite de fichiers ou d’inodes s’applique-t-elle sur ce système, et est-elle atteinte ?
  • État du stockage : les journaux signalent-ils un volume en lecture seule, une erreur d’entrée-sortie ou une restriction de l’hébergeur ?

Ne supprimez pas des sauvegardes, des journaux ou des médias uniquement pour faire baisser un compteur. Identifiez le contenu responsable, son usage et la protection à conserver. Si le volume est passé en lecture seule ou présente des erreurs, faites examiner le stockage avant de multiplier les tentatives d’écriture. Un nettoyage de cache ne remplace pas ce diagnostic.

Examiner les droits au bon endroit

Si l’erreur vise le déplacement final, vérifiez le chemin annoncé et le dossier de destination réellement configuré. Il peut s’agir du sous-dossier année/mois, d’un chemin personnalisé ou d’un stockage géré par une extension. Le code d’erreur de téléversement PHP 7 ne justifie pas à lui seul de modifier tous les droits de uploads.

Comparez propriétaire, groupe et permissions avec les règles de l’hébergement et l’identité effective de PHP. Le compte qui déploie les fichiers n’est pas toujours celui qui doit créer les médias. Une valeur de permissions copiée depuis un tutoriel peut sembler correcte tout en laissant le mauvais propriétaire en place.

Le correctif doit rester limité au dossier et au droit nécessaires. N’appliquez pas de chmod 777, de changement récursif de propriétaire ou d’ouverture générale de wp-content. Avant une intervention réelle, vérifiez la sauvegarde restaurable et relevez les valeurs actuelles pour pouvoir revenir en arrière. Sur un hébergement mutualisé, transmettez ces constats au support plutôt que de compenser une configuration inconnue par des droits plus larges.

Vérifier la correction jusqu’au média utilisable

Après une correction identifiée, reprenez le même parcours avec un petit fichier autorisé et non sensible. Vérifiez son enregistrement, son affichage et, pour une image, la création des tailles nécessaires. Si le fichier est enregistré mais que les miniatures échouent, le diagnostic se poursuit sur le traitement de l’image ; ce résultat ne démontre pas un nouvel échec d’écriture initiale.

Contrôlez les journaux à l’heure de cet essai, les limites concernées et les droits après intervention. Retirez uniquement le média de test et ses variantes par les outils prévus, puis les diagnostics temporaires devenus inutiles. Gardez une note du chemin, de la cause confirmée et du correctif, sans secret ni donnée personnelle.

Pour une erreur de taille, de type ou de requête avant cette étape, reprenez le diagnostic général des téléversements WordPress. Si l’écriture reste bloquée ou touche aussi les mises à jour et les sauvegardes, une intervention de maintenance WordPress permet de rapprocher les constats du site et de l’hébergement avant de modifier la configuration.

Références officielles

Liens externes cités