Problemet
Efter indtastning området Global konfiguration på site Administrator "back-end" og derefter klikke på "Gem" eller "Anvend" knappen for at gemme det aktuelle valg af konfiguration af websted, vises følgende fejlmeddelelse: "en fejl er opstået! Kan ikke åbne configuration.php fil skrive! ", eventuelt ledsaget af:" JFTP::write: Ugyldigt svar "Hvis du arbejder i FTP aktiveret tilstand.
Årsagen til denne fejl
Opdatering konfigurationsscript i Joomla har været ude af stand til at ændre indholdet af filen "configuration.php" at afspejle eventuelle ændringer på de globale konfigurationsside. Joomla har enten været ude af stand til at skrive til filen og/eller afskåret fra skabe fil skrivbare (dvs. R/W). Siden Joomla 1.5.x forsøger at gøre "configuration.php" skrivbare før du gemmer konfigurationen, er sidstnævnte mere normalt tilfældet. Den mest almindelige årsag til dette er, at filen "configuration.php" er ejet af en anden logisk bruger at den ene forsøger at foretage ændringen. Hvis du forsøger at ændre Global konfiguration med FTP aktiveret, være den sidstnævnte vil normalt din FTP login ID; med FTP deaktiveret vil det være en web server procesidentitet (ofte benævnt nemlig noget som "apache" eller "www-data"). (Du kan som regel kontrollere på fil ejerskabet detaljer ved at logge ind dit websted med et FTP-program. Alternativt kan du bruge eXtplorer – se nedenfor). Desværre, du vil blive låst ud af skiftende hen til den passende tilstand for at opdatere den globale konfiguration som aktivering og deaktivering af FTP-funktion (og dermed ændre logiske identitet forsøger at ændre konfigurationen) bestemmes af den globale konfiguration data i denne fil.
Forslag til løsninger
Bemærk: er det ikke nok at bare gøre "configuration.php" filen skrivbar for alle brugere. Så vil være kan du opdatere den globale konfiguration kun én gang, efter hvilke Joomla 1.5.x vil gøre filen skrivebeskyttet for alle brugere og dermed genindføre problemet.
- Ændre ejerskabet af filen "configuration.php" til at matche enten dine FTP login-ID, hvis bruger "FTP aktiveret" til webstedet, eller web server proces-id, hvis du bruger "FTP deaktiveret".
Bemærk: Dette er ikke noget, du kan gøre inden for Joomla.
Hvis du har fuld kontrol over serveren (f.eks. den lokale server eller virtuelle server) kan du bør gøre dette ved hjælp af en passende nytte (såsom "chown" for en Linux-server). På en delt server, skal du kontakte den tekniske support for din organisation eller din internetudbyder, forklare problemet og bede dem lave om på fil ejerskabet korrekt. - Installere komponenten eXtplorer (fås fra mappen Joomla Extensions- extensions.joomla.org)-hvis den ikke allerede er på plads. Dette vil tillade dig at se og manipulere filer i både "fil"-tilstand (ved hjælp af web server processen bruger-id) eller "ftp"-mode ved hjælp af din FTP login-brugeridentitet. Selvom du vil sandsynligvis ikke kunne lave om på fil ejerskabet med dette værktøj, kan du bruge en af tilstande for at gøre "configuration.php" skrivbar for alle brugere. Dette vil gøre det muligt for dig at skifte til den globale konfiguration én gang – eller mere hvis du medtage i som en ændring til FTP-tilstand så det matcher ejerskabet af filen "configuration.php" (men se bemærkningen nedenfor).
Bemærk: ændre FTP-funktion vil påvirke ejerskabet anvendes på filer uploadet til webstedet under den nye indstilling (f.eks. Når du installerer extensions). - Se de specifikke lave denne person opdaget på siden diskussion af dette dokument. Jeg har fundet, at det virker med min installation af v. 1.5.23.
- Få din webserver til at køre PHP CGI eller FastCGI. Dette sikrer, at PHP-koden udføres ved hjælp af den samme bruger-ID'ET, som bruges når du uploader Joomla kode ved hjælp af FTP. Der er således ingen konflikt som ID for PHP processen ændrer "configuration.php" fil er den samme som filens ejer. Hvis du ikke ved hvordan du indstiller CGI eller hurtigt CGI, skal du kontakte serveradministratoren eller hosting tjenesteudbyder for rådgivning.
Baggrund
Ovenstående er en forenklet forklaring, men følgende kan være af interesse og værdi for alle, og også hjælpe ekspertbrugere formulere deres egen løsning på problemet.
- Filen "configuration.php" genereres automatisk i webstedets rodmappe (fra "configuration.php-dist") under site installation og indeholder i det stedspecifikke oplysningerne under installationsprocessen. Ændringer i det globale konfiguration arealet i webstedets administrative "back-end" er skrevet til "configuration.php" når "Gem" eller "Anvend" knappen bruges.
- Når Joomla forsøger at opdatere "configuration.php" fil det første forsøg på at gøre det skrivbare, og efter opdateringen filen gør det unwriteable (dvs. read-only) som en sikkerhedsforanstaltning.
- Filer på den webserver, der er vært for dit Joomla site vil være ejet af en af flere enheder, afhængigt af hvordan de blev placeret eller oprettet på serveren. Generelt vil filer på en Joomla site være ejet af en af to brugeridentiteter:
- Filer du uploade via FTP eller installeret med FTP-funktion aktiv vil generelt blive tildelt ejerskab af et bruger-ID svarer til dine FTP login-ID for det pågældende websted,
- Filer installeret fra inden for Joomla og med FTP-tilstand inaktiv generelt tildeles ejerskab af "phantom" bruger-ID, der bruges til at køre de vigtigste web serverprocesser samt din Joomla scripts (ofte benævnt nemlig noget som "apache" eller "www-data").