Impossible d'enregistrer les modifications de configuration globale

 
Impossible d'enregistrer les modifications de configuration globale

Le problème

Après l'entrée de la zone de Configuration globale sur le site administrateur « back-end » et puis en cliquant sur le bouton « Enregistrer » ou « Appliquer » pour enregistrer le choix actuel de la configuration du site, le message d'erreur suivant s'affiche: « une erreur s'est produite ! Impossible d'ouvrir le fichier configuration.php à écrire! ", éventuellement accompagné: « JFTP::write : mauvaise réponse" si vous travaillez en mode FTP activée.

Cette erreur

Le script de mise à jour de configuration de Joomla a été incapable de modifier le contenu du fichier « configuration.php » afin de refléter toutes les modifications apportées sur la page de Configuration globale. Joomla a été impossible d'écrire dans le fichier et/ou impossible de mettre le fichier en écriture (c.-à-d. R/W). Depuis Joomla 1.5.x tente d'établir des « configuration.php » en écriture avant d'enregistrer la configuration, ce dernier est plus généralement le cas. La raison la plus courante pour cela est que le fichier « configuration.php » est détenu par un autre utilisateur logique à celui essayant de faire le changement. Si vous essayez de modifier la Configuration globale avec FTP activé, la volonté de ce dernier sera généralement votre ID de connexion FTP ; avec FTP désactivé, il sera une identité de processus de serveur web (souvent nommée comme quelque chose comme « apache » ou « www-data »). (Vous pouvez généralement vérifier sur des détails de propriété de fichier en vous connectant à votre site avec un logiciel FTP. Vous pourriez également utiliser eXtplorer – voir ci-dessous). Malheureusement, vous serez fermé à clef hors de changer le mode approprié pour mettre à jour la Configuration globale comme l'activation et la désactivation du mode FTP (et donc changement d'identité logique d'essayer de changer la configuration) sont déterminées par les données de Configuration globale qui s'est tenues dans ce fichier.

Solutions suggérées

Remarque : il ne suffit pas juste de faire la « configuration.php » du fichier accessible en écriture pour tous les utilisateurs. Comme alors vous serez en mesure de mettre à jour la Configuration globale qu'une seule fois, après laquelle Joomla 1.5.x va définir le fichier en lecture seule pour tous les utilisateurs et ainsi réintroduire le problème.

  1. Changer le propriétaire du fichier « configuration.php » pour correspondre soit votre ID de connexion FTP si vous utilisez « FTP activé » pour le site, ou l'identité de processus du serveur web si vous utilisez « FTP désactivé ».
    Remarque : Ce n'est pas quelque chose que vous pouvez faire au sein de Joomla.
    Si vous avez le contrôle total du serveur (par exemple, le serveur local ou serveur virtuel), alors vous devriez être capable de le faire à l'aide d'un utilitaire approprié (par exemple "chown" pour un serveur de Linux). Sur un serveur partagé, vous devriez contacter le support technique pour votre organisation ou votre ISP, expliquer le problème et demandez-leur changer la propriété fichier de manière appropriée.
  2. Installez le composant eXtplorer (disponible à partir du répertoire d'Extensions Joomla – extensions.joomla.org) – si pas déjà en place. Cela vous permettra de visualiser et de manipuler des fichiers dans les deux mode de « fichier » (à l'aide de l'identité de l'utilisateur du processus serveur web) ou de « ftp » mode à l'aide de votre identité d'utilisateur de connexion FTP. Bien que vous ne serez probablement pas en mesure de modifier la propriété de fichier avec cet outil, vous pouvez utiliser un des modes de faire « configuration.php » accessible en écriture pour tous les utilisateurs. Cela vous permettra de changer la Configuration globale une fois – ou plus si vous incluez dans qu'un changement dans le mode FTP afin qu'il corresponde à la propriété de votre fichier « configuration.php » (mais voir la Note ci-dessous).
    Remarque : modification du mode FTP aura une incidence sur la propriété appliquée aux fichiers téléchargés vers le site sous le nouveau paramètre (par exemple lors de l'installation des extensions).
  3. Voir spécifiques à la difficulté de cette personne, découverte sur la page de discussion du présent document. J'ai trouvé que cela fonctionne avec mon installation de c. 1.5.23.
  4. Téléchargez votre serveur web d'exécuter PHP comme CGI et FastCGI. Cela garantit que le code PHP est exécuté en utilisant le même utilisateur ID utilisé lorsque vous transférez le code de Joomla avec FTP. Il n'y a donc pas de conflit comme l'ID du processus PHP changeant « configuration.php » fichier est le même que le propriétaire du fichier. Si vous ne savez pas comment définir CGI ou Fast CGI, contactez votre administrateur de serveur ou le fournisseur d'hébergement de service pour obtenir des conseils.

Fond

Ce qui précède est une explication simplifiée, mais ce qui suit peut être d'intérêt et de la valeur à tous et aussi aider les utilisateurs expΘrimentΘs formuler leur propre solution à ce problème.

  • Le fichier « configuration.php » est généré automatiquement dans le dossier racine du site (à partir de "configuration.php-dist") au cours de l'installation du site et il intègre les informations spécifiques au site données durant le processus d'installation. Modifications apportées dans la zone Configuration globale administratif "back-end" du site sont écrits dans « configuration.php » lorsque le bouton « Enregistrer » ou « Applicable » est utilisé.
  • Chaque fois que Joomla tente de mettre à jour « configuration.php » enregistre premières tentatives pour le rendre accessible en écriture, et après mise à jour le fichier rendent impossible d'écrire sur (c'est-à-dire en lecture seule) par mesure de sécurité.
  • Fichiers sur le serveur web qui héberge votre site Joomla seront détenues par l'un de plusieurs entités, selon la façon dont ils ont été placés ou créés sur le serveur. Généralement les fichiers sur un site Joomla seront détenues par une des deux identités d'utilisateur :
    1. Fichiers vous téléchargez par FTP ou installé avec le mode FTP actif seront généralement alloués propriété d'un ID d'utilisateur correspondant à votre ID de connexion FTP pour ce site,
    2. Fichiers installés à partir au sein de Joomla et avec mode FTP inactif seront généralement alloués propriété de l'ID d'utilisateur « fantôme » utilisé pour exécuter les processus du serveur web principal, mais aussi vos scripts de Joomla (souvent nommés comme quelque chose comme « apache » ou « www-data »).