web-dev-qa-db-fra.com

Le téléchargement du média donne l'erreur "Manquant un dossier temporaire."

Après la mise à niveau vers Wordpress 3.0.1 (à partir de Wordpress MU 2.9.2), nous avons commencé à recevoir un message d'erreur chaque fois que nous essayions de télécharger du contenu multimédia.

"Manquer un dossier temporaire"

Divers articles sur le Web mentionnent que le paramètre php upload_tmp_dir doit être défini dans php.ini. Ce n'est pas vraiment une exigence. Je le sais parce que cela n'est pas défini dans notre environnement de test et qu'il ne l'était pas dans notre environnement de production avant le déploiement. Dans les deux cas, les téléchargements ont fonctionné.

Alors qu'est-ce qui a changé?

J'ai une réponse , mais je ne suis pas sûr que ce soit la réponse définitive. Je posterai le mien.

2
leff

upload_tmp_dir est un paramètre facultatif dans php.ini. Php tentera d'utiliser le répertoire temporaire par défaut du système. Donc, il devrait simplement fonctionner .

Si quelque chose arrive aux autorisations sur votre répertoire temporaire, que vous le définissiez dans php.ini ou que vous utilisiez la valeur par défaut du système (généralement /tmp sur des systèmes similaires à unix), le téléchargement de supports échouera. Vous verrez la même erreur "Manquer un dossier temporaire" si le dossier n'existe pas, mais également si vous ne disposez pas des autorisations appropriées sur le dossier temporaire. annuaire.

Votre serveur Web, Apache ou autre, ne fonctionne probablement en tant que personne, ou un autre compte avec pratiquement aucun droit. La première chose à vérifier est donc que /tmp est globalement accessible en écriture.

Sur les systèmes unix, cela ressemble à quelque chose. Je suppose que votre répertoire temporaire par défaut du système est /tmp. À partir de la ligne de commande

$ ls -l /tmp
lrwxrwxrwx@ 1 root  admin  11 Sep 10 11:40 /tmp

Le premier bit lrwxrwxrwx devrait ressembler à cela. Pas de tirets. Si non

$ chmod 777 /tmp

et si cela vous donne des erreurs d'autorisations

$ Sudo chmod 777 /tmp

Vous aurez besoin du mot de passe root.

2
leff

Je réponds à cette vieille question, car de nombreuses personnes sont confrontées au même problème en 2018. Vous pouvez corriger l'erreur de dossier temporaire manquante à l'aide de cPanel. Suivez ces étapes: Dirigez-vous vers cpanel.

  1. Cliquez sur Gestionnaire de fichiers .
  2. Cliquez sur public_html dans la barre latérale gauche.
  3. Recherchez le fichier wp-config.php . Cliquez dessus avec le bouton droit de la souris et choisissez Éditer .
  4. Une fenêtre apparaîtra. Cliquez sur le bouton Éditer .
  5. Un nouvel onglet sera ouvert. Ajoutez la ligne suivante:

    define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp/');
    
  6. Maintenant, allez à l'onglet précédent du gestionnaire de fichiers. Ouvrez le répertoire wp-content .
  7. Créez un nouveau dossier en cliquant sur + Dossier dans le menu de navigation de cPanel.
  8. Une fenêtre apparaîtra. Ajoutez temp dans la case ci-dessous Nom du nouveau dossier .
  9. Cliquez sur le bouton Créer un nouveau dossier .
  10. Actualisez la page pour voir le nouveau dossier.

Vous constaterez maintenant que le problème de dossier temporaire manquant a disparu. Vous pouvez trouver plus d'informations sur ces étapes ici .

0