web-dev-qa-db-fra.com

Comment puis-je réparer "Le PHP dossier temporaire n'est pas défini") "?

J'essaie de migrer un site Web Joomla 3.7.1 sur un nouveau serveur - et je l'ai (principalement) réussi à le faire en utilisant une migration traditionnelle AkeebaBackup.

Le site/serveur source est en cours d'exécution PHP 5.6.30 avec EasyApache 3 et le site/serveur de destination est en cours d'exécution PHP 7.1 avec EasyApache 4.

Le problème le plus évident que je vois sur le site de destination est que, dans EXTENSIONS> GESTION> AVERTISSEMENTS, le message "Le dossier temporaire PHP n'est pas défini."). - et je ne peux pas comprendre pourquoi, parce que

  • Le chemin de mon dossier temporaire a été défini dans CONFIGURATION GLOBALE> SERVEUR> CHEMIN VERS DOSSIER TEMP (et cela est correctement reflété dans le fichier configuration.php.
  • Le chemin du dossier temporaire a également été défini dans le fichier php.ini de la racine Joomla.
  • Si j'exécute phpinfo avec un article Joomla ou un fichier .php personnalisé à la racine du site, la valeur upload_tmp_dir renvoie correctement le chemin d'accès au dossier que j'ai défini.
  • Mon dossier temporaire existe et dispose des autorisations appropriées (0755), identiques à celles de mon site source entièrement opérationnel.

Toutefois ...

  • Si je regarde phpinfo via les informations SYSTEM> SYSTEM INFORMATION> de Joomla> PHP INFORMATION, le upload_tmp_dir valeur indique "pas de valeur", en contradiction totale avec les résultats de phpinfo courir ailleurs (comme mentionné ci-dessus).

Ma question est donc tout simplement la suivante: comment corriger le message "Le dossier temporaire PHP n'est pas défini." - et pourquoi le propre phpinfo de Joomla ne trouve-t-il pas le upload_tmp_dir quand tout le reste est? Le site source n'a pas ce problème.

L’autre différence notable que je devrais mentionner est que, depuis le passage d’EasyApache 3 à EasyApache 4, je n’utilise plus suPHP_ConfigPath afin de définir mon fichier personnalisé php.ini sur le site source) - et j'utilise plutôt le 'MultiPHP INI Editeur') dans cPanel. Parce que upload_tmp_dir n'est pas l'un des paramètres inclus, j'ai l'a ajouté via le mode éditeur.

Merci d'avance pour vos pensées.

5
Hobbes

Joomla fonctionnera probablement sans problème même si le répertoire tmp de php n'est pas défini. Cependant, si vous rencontrez des problèmes, ou si vous voulez simplement vous débarrasser de cet avertissement dans votre administrateur Joomla, vous devez définir dans votre configuration php le upload-tmp-dir directive.

Notez que la configuration de l'environnement d'hébergement/serveur n'est pas exactement une question de Joomla. Joomla ne contient rien qui puisse vous aider à définir cette directive core php.ini et notez également que la configuration du répertoire tmp de Joomla diffère de celle de php upload_tmp_dir.

Maintenant, en ce qui concerne votre problème et en tenant compte de tous ces éléments et des informations que vous avez fournies, il est difficile de dire ce qui ne va pas dans votre configuration.

Certainement, si vous obtenez que upload_tmp_dir n'est pas défini, c'est comme cela - du moins pour le backend. Je suis sûr que si vous contactez votre fournisseur d'hébergement/administrateur système, ils résoudront ce problème en quelques minutes seulement. Sinon, vous aurez peut-être un indice en consultant la page Infos système (phpinfo) de Joomla pour laquelle les fichiers php.ini sont chargés dans le backend et en révisant ces paramètres.

Ah, et vous devez généralement redémarrer Apache, après avoir modifié les fichiers php.ini.

3
FFrewin

Étape 1: Il suffit de télécharger le package de mise à niveau sur le serveur via ftp ou de l'extraire dans le gestionnaire de fichiers cpanel.

Étape 2: Vous verrez une erreur après l'installation sur le site d'administration uniquement. Allez à Extensions, Gérer, Base de données et appuyez sur le bouton "FIX".

1
Medin Mon