Kan wijzigingen in 'Algemene instellingen' niet opslaan

From Joomla! Documentation

This page is a translated version of the page Cannot save Global Configuration changes and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎हिन्दी • ‎Nederlands • ‎русский

Na het invoeren van de items bij de 'Algemene instellingen' op de “back-end” (beheergedeelte) van de site en het drukken op de “Opslaan” of “Opslaan & sluiten” knop om de huidige keuze van de site-instellingen op te slaan, verschijnt de volgende foutboodschap: “Er is een fout opgetreden! Kon het configuration.php bestand niet wegschrijven!”, mogelijk vergezeld van: “JFTP::write: foutmelding”, als u werkt met de FTP-modus ingeschakelde.

Reden van deze fout

Het instellingen-update-script in Joomla! heeft de wijzigingen in de inhoud van het bestand “configuration.php” niet kunnen bijwerken om de wijzigingen die u heeft gedaan op te slaan. Joomla! was niet in staat het bestand weg te schrijven en/of het bestand schrijfbaar te maken (d.w.z.. R/W). Aangezien Joomla! 1.5.x probeert “configuration.php” schrijfbaar te maken voor het opslaan is het laatste meestal het geval. De meest voorkomende reden hiervoor is dat het bestand “configuration.php” eigendom is van een andere logische gebruiker als degene die de wijziging probeert te maken. Als u probeert de Algemene instellingen te wijzigingen met FTP geactiveerd, is de laatste meestal uw FTP login ID; met FTP uitgeschakeld is het de identiteit van een proces op de webserver (vaak genaamd iets als “apache” of “www-data”). (U kunt het eigendom van bestanden meestal controleren door in te loggen op uw site met een FTP program. U kunt dat ook doen door gebruik te maken van eXtplorer – zie hieronder). Helaas bent u afgesneden van het wijzigen naar de juiste modus in de 'Algemene instellingen' zoals het aanpassen door het in en uitschakelen van FTP-modus (en dus wijzigen van de logische identiteit om de instellingen te wijzigen) door de gegevens in dat bestand zelf.

Voorgestelde oplossingen

Maak het “configuration.php” bestand niet beschrijfbaar voor alle gebruikers. Het resultaat zal zijn dat de 'Algemene instellingen' slechts één keer opgeslagen kunnen worden. Na de eerste opslag, zal Joomla! het veld alleen-lezen maken voor alle gebruikers en het probleem zal weer bestaan.

Eigendom

Wijzig het eigendom van het “configuration.php” bestand om te voldoen aan óf uw FTP login ID als u gebruik maakt van “FTP geactiveerd” op de site, óf de identiteit van het web server proces als u gebruik maakt van “FTP gedeactiveerd”.

Dit is niet iets dat u binnen Joomla kunt doen. Indien u volledige controle over de server heeft (bijvoorbeeld local server of virtuele server) dan zou u dit kunnen doen door een passend hulpprogramma te gebruiken (zoals “chown” voor een Linux server).

Op een gedeelde server, moet u contact opnemen met de technische ondersteuning van uw organisatie of uw web hosting provider, leg het probleem uit en vraag het eigendom van het bestand aan te passen.

Gebruik een extensie

Installeer de eXtplorer component (verkrijgbaar in de Joomla! Extensie Directory - Categorie File Management) – indien niet reeds zichtbaar. Dit geeft u de mogelijkheid bestanden te zien en wijzigen in zowel “bestand” modus (gebruik makend van eht web server proces gebruikers identiteit) of “ftp” modus gebruik makend van uw FTP login gebruikers identiteit. Hoewel u waarschijnlijk niet in staat bent het eigendom van een bestand te wijzigen met dit hulpmiddel, kunt u een van de modussen gebruiken om de “configuration.php” beschrijfbaar voor alle gebruikers te maken. Dit maakt het mogelijk de 'Algemene instellingen' eenmaal aan te passen – of meerdere keren als een wijziging van de FTP modus doet zodat het voldoet aan het eigendom van uw “configuration.php” bestand (maar let op de opmerking beneden).
OPMERKING: het wijzigen van de FTP modus zal het eigendom van bestanden die geüpload worden naar de site beïnvloeden volgens de nieuwe instellingen (bijvoorbeeld bij het installeren van extensies). Bestand eigendom advies van ianmac

Controleer PHP eigendom

Zorg ervoor dat uw web server PHP draait als CGI of FastCGI. Dit zorgt ervoor dat de PHP code wordt uitgevoerd met dezelfde user-ID die gebruikt is bij het uploaden van de Joomla code met behulp van FTP. Er is dus geen conflict aangezien de de ID van het PHP proces dat het “configuration.php” bestand wijzigt hetzelfde is als de eigenaar van het bestand. Indien u niet weet hoe CGI of Fast CGI in te stellen, neem dan contact op met de beheerder van uw server of hosting provider voor advies.

Achtergrond

Bovenstaande is een vereenvoudigde uitleg, maar het volgende kan interessant zijn en waardevol voor iedereen en ook experts helpen hun eigen oplossing voor dit probleem te formuleren.

  • Het bestand “configuration.php” is automatisch gegenereerd in de root-map van de site (vanuit “configuration.php-dist”) tijdens het installeren van de site bevat de site-specifieke informatie opgegeven tijdens het installatieproces. Wijzigingen die worden aangebracht bij de 'Algemene instellingen' in het beheergedeelte “back-end” worden weggeschreven naar “configuration.php” wanneer óf de “Opslaan” óf de “Opslaan & sluiten” knop gebruikt wordt.
  • Wanneer Joomla! probeert het “configuration.php” bestand bij te werken, probeert het eerst hem beschrijfbaar te maken en na het bijwerken van het bestand weer niet beschrijfbaar (d.w.z. read-only) te maken als veiligheidsmaatregel.
  • Bestanden op de web server die uw website hosten zijn eigendom van één van de verschillende entiteiten, afhankelijk van hoe ze geplaatst of aangemaakt zijn op de server. In het algemeen zijn bestanden op een Joomla! site eigendom van één van de twee gebruikers-identiteiten:
    1. Bestanden die u upload via FTP of geïnstalleerd heeft met de FTP modus op actief krijgen in het algemeen het eigendom van een gebruikers-ID die correspondeert met uw FTP login ID voor die site,
    2. Bestanden die geïnstalleerd worden vanuit Joomla! en de FTP modus inactief krijgen in het algemeen het eigenaarschap van het “phantom” gebruikers-ID die gebruikt worden om de hoofd web-server processen te draaien, net zoals uw Joomla! scripts (vaak genoemd iets als “apache” of “www-data”).