Het probleem
Na het invoeren van het gebied van de globale configuratie op de site Administrator 'back-end' en vervolgens te klikken op "Save" of de "Apply" knop om te slaan de huidige keuze van site-configuratie, wordt het volgende foutbericht weergegeven: "is een fout opgetreden! Unable to open configuration.php bestand om te schrijven! ", eventueel vergezeld van:" JFTP::write: slechte reactie "als u in de modus van de FTP ingeschakeld werkt.
Reden voor deze fout
Het configuratie update script in Joomla is niet in staat de inhoud van het bestand "configuration.php" aan eventuele wijzigingen op de globale configuratie-pagina wijzigen. Joomla heeft een kan niet schrijven naar het bestand en/of niet in staat om het bestand schrijfbaar (dat wil zeggen R/W). Sinds Joomla 1.5.x probeert te "configuration.php" schrijfbaar te maken voor het opslaan van de configuratie, is de laatste meestal het geval. De meest voorkomende reden hiervoor is dat het bestand "configuration.php" is eigendom van een andere logische gebruiker een proberen om de verandering te maken. Als u probeert te wijzigen van globale configuratie met FTP ingeschakeld, zijn de laatste zal meestal uw FTP login ID; het is een web server procesidentiteit (vaak genoemd als iets zoals "apache" of "www-data") met FTP uitgeschakeld. (U kunt meestal controleren op eigendom bestandsdetails door in te loggen op uw site met een FTP-programma. U kunt ook zou u eXtplorer-zie hieronder). Helaas, u zal worden vergrendeld omzetten in de juiste modus voor het bijwerken van de globale configuratie als de inschakelen en uitschakelen van de FTP-modus (en dus de logische identiteit probeert te wijzigen van de configuratie wijzigen) wordt bepaald door de globale configuratie gegevens gehouden in dat bestand.
Voorgestelde oplossingen
Opmerking: het is niet voldoende om alleen de "configuration.php" bestand schrijfbaar voor alle gebruikers. Als toen u zullen worden zitten kundig voor bijwerken van de globale configuratie slechts eenmaal, na welke Joomla 1.5.x zal het bestand alleen-lezen maken voor alle gebruikers en dus opnieuw het probleem.
- Wijzigen de eigenaar van het bestand "configuration.php" ofwel overeenkomen met uw FTP login ID als "FTP ingeschakeld" voor de site of het web server procesidentiteit gebruikt als u "FTP uitgeschakeld" gebruikt.
Opmerking: Dit is niet iets dat je binnen Joomla doen kunt.
Als je volledige controle van de server (bijvoorbeeld de lokale server of virtuele server hebt) dan moet je kunnen doen dit met behulp van een geschikte hulpprogramma (zoals "chown" voor een Linux-server). Op een gedeelde server, moet u contact opnemen met de technische ondersteuning voor uw organisatie of uw Internet-provider, uitleggen van het probleem en hen vragen het bestand wordt eigenaar wijzigen. - Installeer het eXtplorer onderdeel (verkrijgbaar bij de Joomla Extensions Directory – extensions.joomla.org) – indien niet reeds op zijn plaats. Dit zal u om te bekijken en bestanden te bewerken in beide 'bestand' modus (met de identiteit van de web server proces gebruiker) of "ftp" modus met behulp van uw FTP login gebruikersidentiteit toestaan. Hoewel u waarschijnlijk niet wijzigen van het eigenaarschap van het bestand met dit hulpmiddel kunnen, kunt u een van de modi "configuration.php" schrijfbaar te maken voor alle gebruikers. Dit kunt u wijzigen in de globale configuratie eens – of meer als u in dat een wijziging van de FTP-modus opneemt zodat deze overeenkomt met de eigendom van het bestand "configuration.php" (maar zie hieronder nota).
Opmerking: de FTP-modus wijzigen van invloed is op de eigendom op alle bestanden geüpload naar de site onder de nieuwe instelling toegepast (bijvoorbeeld bij het installeren van extensies). - Zie de specifieke bevestigen deze persoon ontdekt op de discussie-pagina van dit document. Ik heb geconstateerd dat dit met mijn installatie van v. 1.5.23 werkt.
- Krijg uw webserver to run PHP als CGI of FastCGI. Dit zorgt ervoor dat de PHP code wordt uitgevoerd met behulp van dezelfde gebruiker ID zoals gebruikt bij het uploaden van de Joomla code met behulp van FTP. Er is dus geen conflict zoals de ID van de PHP-proces "configuration.php" bestand wijzigen hetzelfde als de eigenaar van het bestand is. Als u niet hoe weet u CGI of snel CGI, contact uw server bewindsvoerder of hosting serviceprovider voor advies.
Achtergrond
Het bovenstaande is een vereenvoudigde uitleg, maar het volgende kan worden van het belang en de waarde voor iedereen, en ook helpen ervaren gebruikers formuleren hun eigen oplossing voor dit probleem.
- Het bestand "configuration.php" wordt automatisch gegenereerd in de hoofdmap van de site (van "configuration.php-dist") tijdens de installatie van site en de site-specifieke informatie gegeven tijdens het installatieproces in het bevat. Wijzigingen die zijn aangebracht in de globale configuratie van de site administratieve 'back-end' worden naar "configuration.php" geschreven wanneer de "Save" of de "Apply" knop wordt gebruikt.
- Wanneer Joomla probeert bij te werken "configuration.php" bestand het eerste pogingen om er beschrijfbare, en na het bijwerken van het bestand maken niet beschrijfbaar (dat wil zeggen alleen-lezen) als een veiligheidsmaatregel.
- Bestanden op de webserver, hosting van uw Joomla site zijn het eigendom van een van verschillende entiteiten, afhankelijk van hoe ze werden geplaatst of gemaakt op de server. Bestanden op een Joomla site zullen over het algemeen eigendom zijn van een van twee gebruikersidentiteiten:
- Bestanden die u uploaden via FTP of geïnstalleerd met de FTP-modus actief wordt over het algemeen toegewezen eigendom van een gebruikers-ID overeenkomt met uw FTP aanmeldings-ID voor die site,
- Bestanden die zijn geïnstalleerd vanaf binnen Joomla en met FTP-modus niet actief zal over het algemeen eigendom worden toegewezen door de "spook" gebruikers-ID die gebruikt voor het uitvoeren van de belangrijkste web server verwerkt, alsmede uw Joomla scripts (vaak genoemd als iets zoals "apache" of "www-data").