Il problema
Dopo entrano nell'area di configurazione globale sul sito amministratore "back-end" e poi cliccando sul pulsante "Salva" o "Applica" per salvare la scelta corrente della configurazione del sito, viene visualizzato il seguente messaggio di errore: "si è verificato un errore! Impossibile aprire il file Configuration php per scrivere! ", eventualmente accompagnata da:" JFTP::write: Bad response "se si lavora in modalità FTP abilitato.
Questo errore
Lo script di aggiornamento della configurazione di Joomla è stata in grado di modificare il contenuto del file "Configuration. php" per riflettere le modifiche apportate nella pagina di configurazione globale. Joomla ha sia stato Impossibile scrivere il file e/o incapace di fare il file scrivibile (cioè R/W). Dal Joomla 1.5. x tenta di rendere scrivibile "Configuration" prima di salvare la configurazione, quest'ultimo è più solitamente il caso. Il motivo più comune per questo è che il file "Configuration. php" è di proprietà di un altro utente logico a quello cercando di apportare la modifica. Se si sta tentando di modificare la configurazione globale con FTP abilitato, la volontà di quest'ultima solitamente essere il tuo ID di login FTP; con FTP disattivato sarà un'identità di processo del server web (spesso denominata come qualcosa come "apache" o "www-data"). (È possibile controllare solitamente su particolari proprietà file accedendo al vostro sito con un programma FTP. In alternativa è possibile utilizzare eXtplorer – vedi sotto). Purtroppo, sarà bloccato fuori cambiando la modalità appropriata per aggiornare la configurazione globale come l'abilitazione e disabilitazione della modalità FTP (e quindi cambiando l'identità logico tentare di cambiare la configurazione) è determinati dai dati configurazione globale tenuti in quel file.
Soluzioni suggerite
Nota: non è sufficiente fare solo il "Configuration. php" file scrivibile per tutti gli utenti. Come allora sarà essere in grado di aggiornare la configurazione globale solo una volta, dopo che Joomla 1.5. x sarà rendere il file di sola lettura per tutti gli utenti e quindi reintrodurre il problema.
- Modificare la proprietà del file "Configuration. php" per abbinare sia il tuo ID di login FTP se si utilizza "FTP abilitato" per il sito, o l'identità del processo server web se si utilizza "FTP disattivato".
Nota: Questo non è qualcosa che si può fare all'interno di Joomla.
Se hai il totale controllo del server (ad esempio il server locale o server virtuale) dovrebbe essere in grado di eseguire questa operazione utilizzando un'utility appropriata (ad esempio "chown" per un server Linux). Su un server condiviso, si deve contattare il supporto tecnico per la vostra organizzazione o il vostro ISP, spiegare il problema e chiedere loro modificare opportunamente il file di proprietà. - Installare il componente eXtplorer (ottenibile da Joomla Extensions Directory – extensions.joomla.org) – se non già in atto. Questo vi permetterà di visualizzare e manipolare i file in due modalità di "file" (utilizzando l'identità di utente del processo server web) o "ftp" modalità utilizzando l'identità dell'utente login FTP. Anche se probabilmente non sarà in grado di modificare le proprietà di file con questo strumento, è possibile utilizzare una delle modalità per rendere scrivibile "Configuration" per tutti gli utenti. Questo vi permetterà di modificare la configurazione globale una volta – o più se si include in quanto una modifica alla modalità FTP che abbina le proprietà del file "Configuration. php" (ma vedi nota sotto).
Nota: cambiando la modalità FTP influenzerà la proprietà applicata ai file caricati sul sito sotto la nuova impostazione (ad esempio quando si installano le estensioni). - Vedere le specifiche difficoltà questa persona scoperta sulla pagina di discussione di questo documento. Ho trovato che questo funziona con la mia installazione di v. 1.5.23.
- Ottieni il tuo server web per eseguire PHP come CGI o FastCGI. Questo assicura che il codice PHP viene eseguito utilizzando lo stesso utente ID utilizzato durante il caricamento del codice di Joomla utilizzando FTP. Così non non c'è nessun conflitto come l'ID del processo PHP modificando il file "Configuration. php" è lo stesso proprietario del file. Se non sapete come fare impostare CGI o Fast CGI, contattare l'amministratore del server o hosting service provider per consigli.
Sfondo
Quanto sopra è una spiegazione semplificata, ma il seguente può essere di interesse e valore per tutti e anche aiutare gli utenti esperti a formulare la propria soluzione per questo problema.
- Il file "Configuration. php" viene generato automaticamente nella cartella principale del sito (da "Configuration. php-dist") durante l'installazione del sito e incorpora in esso il site specifiche informazioni fornite durante il processo di installazione. Le modifiche apportate nella zona configurazione globale amministrativo "back-end" del sito sono scritti "Configuration" quando viene utilizzato il pulsante "Salva" o "Applica".
- Ogni volta che tenta di aggiornare Joomla file "Configuration. php", primi tentativi di rendere scrivibile, e dopo l'aggiornamento il file rendono non scrivibile (cioè read-only) come precauzione di sicurezza.
- I file sul server web che ospita il tuo sito Joomla saranno di proprietà di uno degli enti diversi, a seconda di come erano collocati o creati sul server. In genere i file su un sito Joomla saranno di proprietà di uno dei due identità utente:
- File upload via FTP o installata con la modalità FTP attiva verranno generalmente allocati possesso di un ID utente corrispondente al FTP login ID per il sito,
- I file installati all'interno di Joomla e con modalità FTP inattivi saranno generalmente attribuiti proprietà dall'ID utente "fantasma" che consente di eseguire i processi del server web principale, come pure il vostro script di Joomla (spesso denominato come qualcosa come "apache" o "www-data").