web-dev-qa-db-fra.com

Impossible d'installer un composant via le gestionnaire d'extensions

J'ai une installation J2.5 qui refuse simplement d'installer un composant à l'aide du gestionnaire d'extensions.

Tous les répertoires sont accessibles en écriture, l'Assistant Forum Post signale que la session est accessible en écriture, le chemin tmp est correct, les répertoires correspondants ont été créés 777 et tous les fichiers du serveur ont le même propriétaire. Pourtant, je reçois toujours le message d'erreur suivant lorsque j'essaie d'installer

JFTP:: mkdir: réponse incorrecte JFTP:: chmod: réponse incorrecte Installation du composant: impossible de créer le répertoire du site: path.to/components/com_neorecruit

Si je crée manuellement le répertoire com_neorecruit, le message d'erreur suivant s'affiche.

JFolder:: fichiers: le chemin n'est pas un dossier. Path: path.to/administrator/components/com_neorecruit JFolder:: fichiers: le chemin n’est pas un dossier. Chemin d'accès: path.to/administrator/components/com_neorecruit JInstaller:: Installation: fichier de configuration XML introuvable. JInstaller:: Installation: impossible de trouver le fichier de configuration XML JFTP:: mkdir: Réponse incorrecte JFTP:: chmod: Réponse incorrecte Mise à jour du composant: Échec créer un répertoire admin: path.to/administrator/components/com_neorecruit

5
toomanyairmiles

Peut-être essayez-vous de désactiver FTP à Global Configuration -> Server.

Vous pouvez avoir un problème de propriété de fichier plutôt qu'un problème d'autorisation de fichier. Passer au gestionnaire de fichiers approprié PHP peut parfois aider.

Il existe une réponse plus complète à l'adresse suivante: Méthodes recommandées concernant les autorisations et la propriété des fichiers/répertoires Joomla sur les systèmes linux?

6
Neil Robertson

Il semble que Joomla ne puisse pas effectuer d'opérations de lecture/écriture via PHP. Je suis donc d'accord avec Neil, il s'agira probablement d'un problème de gestionnaire/propriétaire php (même s'il a été défini à 777).

Il existe une liste de dépannage concernant votre première erreur à l'adresse http://docs.joomla.org/Why_can%27t_you_install_any_extensions%3F mais il semble que vous en ayez coché la plupart :) les points que vous n'avez peut-être pas abordés ci-dessous.

  • Vérifiez votre fichier php.ini (il se trouve généralement dans le répertoire/etc.) Faites une sauvegarde, puis si vous pouvez éditer l'original, définissez open_basedir pour inclure le répertoire temp: open_basedir = /tmp Si vous avez un autre chemin pour tmp, vous pouvez le définir en ajoutant :/path Un exemple: open_basedir = /var/www/html:/tmp
  • Assurez-vous de ne pas utiliser PHP 5.0.4. Apparemment, cette version provoquera le premier message d'erreur que vous avez reçu.

Parmi les autres éléments de la liste (que vous avez déjà réalisés), citons:

  • vérifiez que vous avez le bon chemin tmp dans configuration.php
  • vérifiez que votre directive session.save_path dans votre fichier php.ini est accessible en écriture. Je sais que vous l'avez déjà fait, mais pour d'autres personnes ayant le même problème, vous pouvez vérifier bon nombre des choses ci-dessus à l'aide de l'assistant de publication Joomla Forum Post. Il peut être téléchargé à partir de https://github.com/ForumPostAssistant/FPA/zipball/en-GB

Si vous utilisez Outils d'administration, il pourrait être intéressant de vérifier votre fichier .htaccess. Les outils d'administration empêchent parfois l'accès à certains répertoires via le fichier .htaccess.

Pour votre deuxième erreur, je vous suggère de regarder http://www.inmotionhosting.com/support/edu/joomla-3/server-settings/change-path-to-temp-folder Ils ont effectué des tests avec Joomla 3 et ont constaté que, lorsqu'ils

supprimé toutes les autorisations du dossier temporaire et essayé de télécharger un module Joomla au format .Zip, Joomla 3.0 nous a signalé les erreurs suivantes:

JFolder:: fichiers: le chemin n'est pas un dossier. Chemin:/home/bradm/public_html/github2/tmp/install_503f7ef32c55c

Cela me suggère que c'est le problème du gestionnaire php/propriété, comme l'a suggéré Neil.

4
TryHarder