Kan inte spara Globala Konfigurationsändringar

Kan inte spara Globala Konfigurationsändringar

Problemet

Efter in området Global konfiguration på webbplatsen administratör "back-end" och sedan klicka på antingen "Spara" eller "Apply" knappen för att spara det nuvarande valet av webbplatskonfiguration, visas följande felmeddelande: "ett fel uppstod! Det går inte att öppna configuration.php filen att skriva! ", eventuellt åtföljd av:" JFTP::write: dåliga svar "om du arbetar i FTP-aktiverat läge.

Orsaken till detta fel

Uppdatering konfigurationsskript i Joomla har kunnat ändra innehållet i filen "configuration.php" för att återspegla eventuella ändringar på sidan Global konfiguration. Joomla har antingen varit oförmögen att skriva till filen eller inte göra filen skrivbar (dvs R/W). Sedan Joomla 1.5.x försöker göra "configuration.php" skrivbar innan du sparar konfigurationen, är den senare mer brukligt. Den vanligaste anledningen till detta är att filen "configuration.php" ägs av en annan logisk användare den som försöker göra ändringen. Om du försöker ändra Global konfiguration med FTP aktiverat, vara som senare ska vanligtvis din FTP login ID; med FTP inaktiveras kommer det vara en web server processidentitet (ofta namngett som något som "apache" eller "www-data"). (Du kan vanligtvis kolla på filen ägarstrukturen detaljer genom att logga in på din webbplats med ett FTP-program. Alternativt kan du använda eXtplorer – se nedan). Tyvärr, du kommer att vara låst av ändrar till lämpligt läge att uppdatera Global konfiguration som den möjliggör och görande oduglig av FTP-läge (och således ändra logiska identitet försöker ändra konfigurationen) bestäms av Global konfiguration data i filen.

Förslag till lösningar

Obs: är det inte tillräckligt att bara göra det "configuration.php" fil skrivbar för alla användare. Som då du kommer att kunna uppdatera den globala konfigurationen endast en gång, efter vilken Joomla 1.5.x kommer att göra filen skrivskyddad för alla användare och därmed återinföra problemet.

  1. Ändra ägarskap för filen "configuration.php" att matcha antingen ditt FTP-inloggning-ID om med "FTP aktiverat" för webbplatsen, eller processidentitet web server om du använder "FTP inaktiveras".
    Obs: Detta är inte något som du kan göra inom Joomla.
    Om du har total kontroll över servern (t.ex. den lokala servern eller den virtuella servern) då bör du kunna göra detta med hjälp av ett lämpligt verktyg (till exempel "chown" för en Linux-server). På en delad server, bör du kontakta teknisk support för din organisation eller din ISP, förklara problemet och be dem ändra filen ägarskap på lämpligt sätt.
  2. Installera komponenten eXtplorer (kan erhållas från Joomla Extensions Directory- extensions.joomla.org) – om inte redan på plats. Detta gör att du kan visa och manipulera filer i båda "fil"-läge (med web server process användar-ID) eller "ftp"-läge med din FTP-inloggning-användaridentitet. Även om du kommer förmodligen inte att kunna ändra ägandet med detta verktyg, kan du använda en av lägen för att göra "configuration.php" skrivbar för alla användare. Detta gör att du kan ändra den globala konfigurationen en gång – eller mer om du tar i som en förändring av FTP-läge så att den matchar ägandet av filen "configuration.php" (men se not nedan).
    Obs: ändra FTP-läge kommer att påverka ägandet tillämpas på filer som laddas upp till webbplatsen under den nya inställningen (t.ex. När du installerar tillägg).
  3. Se de specifika fixa denna person som upptäckte på sidan diskussion av detta dokument. Jag har funnit att detta fungerar med min installation av v. 1.5.23.
  4. Få din webbserver att köra PHP CGI eller FastCGI. Detta säkerställer att PHP-koden körs med samma användare ID som används när du laddar upp den Joomla koden använder FTP. Således finns det ingen konflikt som PHP-processen förändras "configuration.php" filen ID är samma som filens ägare. Om du inte vet hur man ställer CGI eller Fast CGI, Kontakta serveradministratören eller webbhotell tjänsteleverantör för råd.

Bakgrund

Ovanstående är en förenklad förklaring, men följande kan vara av intresse och värde för alla, och också hjälpa expertanvändare formulera sin egen lösning på problemet.

  • Filen "configuration.php" skapas automatiskt i webbplatsens rotmapp (från "configuration.php-dist") under installationen av webbplatsen och innefattar i det platsspecifika uppgifterna under installationsprocessen. Ändringar som görs i området Global konfiguration i webbplatsens administrativa "back-end" skrivs "configuration.php" när antingen "Spara" eller "Apply" knappen används.
  • När Joomla försöker att uppdatera "configuration.php" fil det första försök att göra den skrivbar, och efter uppdateringen filen gör det oskrivbara (dvs skrivskyddade) som en säkerhetsåtgärd.
  • Filer på webbservern din Joomla webbplats kommer att ägas av en av flera enheter, beroende på hur de placeras eller skapas på servern. Allmänt kommer filer på en Joomla webbplats att ägas av endera av två användaridentiteter:
    1. Filer du ladda upp via FTP eller installerat med FTP-läge aktiv allmänhet fördelas ägandet av ett användar-ID motsvarar din FTP inloggnings-ID för webbplatsen,
    2. Filer som installerats från inom Joomla och med FTP-läge inaktiv allmänhet fördelas ägandet av "fantom" användar-ID som används för att köra de största web server processerna samt skripten Joomla (ofta namngett som något som "apache" eller "www-data").