Problém
Po zadání oblasti globální konfigurace na stránce Správce "back-end" a klepnutím na tlačítko "Uložit" nebo "Použít" uložit aktuální výběr konfigurace webu, zobrazí se následující chybová zpráva: "došlo k chybě! Nepodařilo se otevřít soubor configuration.php psát! ", případně doplněná:" JFTP::write: Chybná odezva "Pokud pracujete v režimu FTP povolena.
Důvod pro tuto chybu
Konfigurační skript aktualizace v Joomla nebyla schopna změnit obsah souboru "configuration.php", aby odrážel veškeré změny, které jste provedli na stránce Globální konfigurace. Joomla je buď nelze zapisovat do souboru nebo nelze vytvořit soubor zapisovatelný (tj. R/W). Od Joomla 1.5.x pokusy, aby "configuration.php" zápis před uložením konfigurace ta je víc obvykle případ. Nejčastější důvod pro to je, že soubor "configuration.php" je vlastněn jiným uživatelem logické se člověk snaží udělat změnu. Pokud se snažíte změnit globální konfiguraci s FTP povolena, ta bude obvykle být vaše ID přihlášení FTP; FTP zakázán bude identita procesu webového serveru (často pojmenované jako něco jako "apache" nebo "www-data"). (Obvykle zjistíte detaily vlastnictví souboru provedete přihlášením k webu pomocí FTP programu. Alternativně můžete použít eXtplorer – viz níže). Bohužel budete vpuštěni na odpovídající režim aktualizace globální konfigurace jako povolení a zakázání režimu FTP (a tím změně logické identity snaží změnit konfiguraci) je dána globální konfigurační data v tomto souboru.
Doporučená řešení
Poznámka: to není jen aby "configuration.php" souboru zápis pro všechny uživatele. Jak pak se budete schopni aktualizovat globální konfiguraci pouze jednou, po které Joomla 1.5.x bude, aby soubor jen pro čtení pro všechny uživatele a tak znovu problém.
- Změna vlastnictví souboru "configuration.php" odpovídat buď vaše ID přihlášení FTP při použití "FTP povolena" pro web, nebo identitu procesu webového serveru, pokud používáte "FTP zakázán".
Poznámka: To není něco, co můžete udělat v Joomla.
Pokud máte úplnou kontrolu nad serverem (např. na místním serveru nebo virtuálního serveru), pak byste měli být schopni to udělat pomocí příslušného obslužného programu (například "chown" pro Linux server). Na sdíleném serveru, měli obrátit na technickou podporu vaší organizace nebo poskytovatele služeb Internetu, vysvětlit problém a zeptejte se jich, vhodně změnit vlastnictví souboru. - Nainstalujte eXtplorer (získat od adresáři Joomla rozšíření – extensions.joomla.org) – Pokud již není na místě. To vám umožní zobrazit a pracovat se soubory v obou "soubor" režimu (pomocí identity uživatele webového serveru procesu) nebo "ftp" režimu pomocí vaší identity uživatele přihlášení FTP. Ačkoli bude pravděpodobně nebude možné změnit vlastnictví souborů pomocí tohoto nástroje, můžete použít jeden z režimů k "configuration.php" zápis pro všechny uživatele. To vám umožní změnit globální konfigurace jednou nebo více, pokud zahrnete, změna režimu FTP tak, aby odpovídal vlastnictví souboru "configuration.php" (ale viz poznámka níže).
Poznámka: změna režimu FTP bude mít vliv vlastnictví souborů na web za nové nastavení (např. při instalaci rozšíření). - Viz specifické opravit tuto osobu objevil na diskusní stránce tohoto dokumentu. Zjistil jsem, že to funguje s mojí instalace z v. 1.5.23.
- Získejte váš webový server spustit PHP jako CGI nebo FastCGI. Tím zajistíte, že kód PHP je proveden pomocí stejného uživatele ID používá při odesílání Joomla kódu pomocí FTP. Tudíž neexistuje žádný rozpor, ID procesu PHP změna souboru "configuration.php" je totéž jako vlastníka souboru. Pokud nevíte, jak nastavit aplikace CGI nebo Fast CGI, obraťte se na správce serveru nebo poskytovatele hostitelských služeb pro radu.
Pozadí
Výše uvedené je zjednodušené vysvětlení, ale následující může být zájem a hodnoty pro všechny a také pomoci zkušení uživatelé formulovat své vlastní řešení tohoto problému.
- Soubor "configuration.php" je automaticky vytvořena v kořenové složce webu (od "configuration.php-dist") během instalace webu a zahrnuje v něm specifické informace během instalačního procesu. Změny provedené v oblasti globální konfigurace v administrativní stránky "back-end" jsou zapisovány do "configuration.php", když se používá na tlačítko "Uložit" nebo "Použít".
- Kdykoliv Joomla se pokusí aktualizovat "configuration.php" soubor to první pokusy o zápis, a po aktualizaci souboru to nelze zapsat (tedy jen pro čtení) jako bezpečnostní opatření.
- Soubory na webovém serveru, hosting Joomla web bude vlastněn jedním z několika subjektů, podle toho, jak byly umístěny nebo vytvořeny na serveru. Obecně souborů na stránkách Joomla bude vlastnit některou z dvou uživatelských identit:
- Nahrát přes FTP nebo nainstalován s aktivním režimu FTP soubory bude obecně přiděleno vlastnictví ID uživatele odpovídající ID přihlášení FTP pro daný web,
- Soubory nainstalované z Joomla a s neaktivním režimu FTP bude obvykle přidělí vlastnictví ID uživatele "Fantom", které slouží ke spuštění hlavní webové serverové procesy, jakož i skriptů Joomla (často pojmenované jako něco jako "apache" nebo "www-data").










