Avant d’arriver dans la médiathèque, chaque fichier envoyé passe par un dossier temporaire du serveur, géré par PHP. Ce message reprend un code d’erreur de PHP qui signale qu’aucun dossier temporaire n’est utilisable, parce qu’il n’existe pas ou qu’il refuse l’écriture. Tous les envois échouent alors, quel que soit le fichier.
Pourquoi cette erreur apparaît
- Le réglage upload_tmp_dir de PHP désigne un dossier qui n’existe pas, souvent après une migration ou un changement de version de PHP.
- Le dossier temporaire du serveur est plein ou n’est plus accessible en écriture.
- Une restriction open_basedir interdit à PHP d’utiliser le dossier temporaire prévu.
- Le quota de disque de l’hébergement est atteint.
Comment corriger le problème
Vérifier l’espace disponible
Regardez l’espace disque et le nombre de fichiers dans votre espace client. Un quota atteint empêche PHP d’écrire où que ce soit, y compris dans son dossier temporaire.
Prévenir l’hébergeur avec le message exact
Sur un hébergement mutualisé, ce dossier dépend de l’hébergeur. Transmettez-lui le texte de l’erreur et l’heure de l’essai : la correction se fait de son côté, souvent sans rien changer à WordPress.
Vérifier le réglage upload_tmp_dir
L’écran des réglages PHP de l’espace client, ou une page d’informations PHP, indique la valeur d’upload_tmp_dir. Si elle désigne un dossier absent, signalez-le à l’hébergeur : ce réglage ne peut pas être modifié depuis un fichier .user.ini ou .htaccess.
Corriger le dossier sur un serveur dédié ou un VPS
Créez un dossier accessible en écriture par l’utilisateur qui exécute PHP, en dehors du dossier public, déclarez-le dans le php.ini du serveur ou dans la configuration du pool PHP-FPM, puis redémarrez PHP. S’il existe une restriction open_basedir, elle doit inclure ce dossier.
upload_tmp_dir = /home/votre-compte/tmp
Ne pas confondre avec WP_TEMP_DIR
Beaucoup de tutoriels proposent d’ajouter la constante WP_TEMP_DIR dans wp-config.php. Elle sert aux téléchargements de WordPress (mises à jour, installations d’extensions), pas au dossier où PHP reçoit les fichiers envoyés : elle ne corrige donc pas ce message.
Lire le journal PHP
Le journal d’erreurs contient souvent la ligne « File upload error - unable to create a temporary file » ou un avertissement open_basedir qui cite le dossier refusé. Ce chemin montre précisément quel réglage corriger.
Ne placez pas le dossier temporaire dans un dossier public du site (www, public_html), où les fichiers envoyés seraient brièvement accessibles depuis le web.
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