Avant d’installer une mise à jour, WordPress télécharge l’archive dans un dossier temporaire du serveur. Ce message indique que ce dossier n’existe pas, ou que PHP n’a pas le droit d’y écrire : le téléchargement s’arrête avant même de commencer. Le site fonctionne, mais extensions, thèmes et WordPress restent bloqués sur leur version actuelle.
Pourquoi cette erreur apparaît
- La constante WP_TEMP_DIR, dans wp-config.php, désigne un dossier qui n’existe plus, typiquement après un déménagement vers un autre hébergeur.
- Le dossier temporaire du serveur (celui du système ou du réglage upload_tmp_dir) n’est pas accessible en écriture pour PHP.
- Une restriction open_basedir empêche PHP d’utiliser le dossier temporaire prévu.
- Le disque ou le quota de l’hébergement est plein.
- Le dossier wp-content, dont WordPress se sert en dernier recours, est lui aussi protégé en écriture.
Comment corriger le problème
Chercher WP_TEMP_DIR dans wp-config.php
Ouvrez wp-config.php, à la racine du site, avec le gestionnaire de fichiers de l’hébergeur ou un logiciel FTP, et cherchez WP_TEMP_DIR. Si la ligne existe et contient le chemin d’un ancien serveur (un autre nom de compte, un autre dossier /home), vous tenez très probablement la cause.
Écarter un disque plein
Regardez l’espace utilisé dans votre espace client. Un hébergement saturé ne peut plus écrire le moindre fichier temporaire, et le message est alors le même que pour un dossier manquant.
Donner à WordPress un dossier temporaire valide
Créez un dossier temp dans wp-content, avec les droits 755. Ajoutez ensuite la ligne ci-dessous dans wp-config.php, au-dessus de « C’est tout, ne touchez pas à ce qui suit », ou corrigez l’ancienne ligne WP_TEMP_DIR. Ce chemin suppose que wp-config.php se trouve à la racine du site. Relancez la mise à jour.
define( 'WP_TEMP_DIR', __DIR__ . '/wp-content/temp/' );
Contrôler le dossier réellement utilisé
Avec WP-CLI, ces commandes affichent la valeur de WP_TEMP_DIR et le dossier temporaire retenu par WordPress. Vérifiez qu’il existe et que l’utilisateur PHP peut y écrire. Le résultat en ligne de commande peut différer légèrement de celui du serveur web. Si open_basedir est actif, ce dossier doit aussi figurer dans la liste des chemins autorisés : sur un mutualisé, c’est en général l’hébergeur qui gère ce réglage.
wp config get WP_TEMP_DIR
wp eval 'echo get_temp_dir();'
Copiez wp-config.php sur votre ordinateur avant de le modifier : une seule erreur de syntaxe dans ce fichier met tout le site hors service.
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