Joomla! -1 Copy file failed

google-plus Scritto da . Postato in Joomla!

Usando il CMS Joomla 3.x e installandovi il componente com_comprofiler o meglio, Community builder nella sua versione 2.0.3, sono recentemente incorso in questo errore:

Si è verificato un errore: -1 Copy file failed.

o in inglese:

An error has occurred: -1 Copy file failed

Ma quale file non è stato copiato? Ok l'errore, ma almeno avere l'idea di dove cercare...

Ricerca del 'file non copiato':

Una via è quella di cercare nel file error.log, ma nemmeno qui si riuscirebbe a trovare il file che ha causato l'errore e fatto saltare l'installazione del componente in questione.

Ora, è successo con CB ma poteva benissimo verificarsi  con qualsiasi componente, modulo o plugin visto che nella fattispecie quest'errore si deve molto spesso a permessi o onwership dei file.

Installando un componenente, specie se è un aggiornamento, alcuni file potrebbero subire una sovrascrittura. Se questi file non sono scrivibili, o malauguratamente qualcuno o qualcosa ne ha cambiato il gruppo di appartenenza o il proprietario, l'errore che darà Joomla 3.x sarà proprio: -1 Copy file failed!

errore-copy-failed

Problema di permissions

La soluzione, è quella appunto di riparare i permessi dei file che generano l'errore... Ma come si fa a scovare il file o i files non scrivibili e salvare/ripristinare il lavoro e proseguire con l'aggiornamento o installazione? eek

Ecco due possibili soluzioni:

Soluzione tool riparazione permessi

Molto spesso, senza complicarsi la vita, i servizi di hosting come Aruba, mettono a disposizione dei veri e propri tool di riparazione dei permessi che in automatico sistemano permessi e ownership senza dover ricorrere a nessun altro sforzo!

Se questo è il vostro caso, aprofittatene. Avete risolto il problema e risparmiato un bel mal di testa! laughing

Soluzione hack per individuare file

Se questo non è il vostro caso e il server è vostro o state lavorando su server di altri che non hanno nulla di simile, vi è a tal riguardo un piccolo hack da fare su un file core di Joomla 3. Anche se poi un successivo aggiornamento cancellasse le nostre modifiche, poco importa, almeno per il momento ci fa scovare l'errore. Il tutto sta nel cambiare il messaggio in output al verificarsi dell'errore :

  1. Aprite il file libraries/joomla/filesystem/folder.php e cercate il testo 'Copy file failed'. Dovrebbero essere alle linee 104 e 142; Trovate, commentate la riga
//throw new RuntimeException('Copy file failed, -1);
  1. e aggiungete immediatamente sotto:
throw new RuntimeException('Copy file failed - file: '.$dfid, -1);
  1. Ora, provate ad aggiornare/installare di nuovo l'estensione. Otterrete un risultato diverso: Copy file failed – file: /var/www/vostra-root/components/com_componente/xxx/file.xyz

error-modified

  1. Con l'aiuto di un file manager (in locale) o un client FTP (remoto), ubicate il file e correggetene i permessi.
  2. Cambiate i permessi del file in “644”; sarà scrivibile solo per il proprietario:

change-permissions

  1. Rifacendo l'installazione/aggiornamento dell'estensione – Si potranno trovare altri file con permessi o ownership errate.
  2. Ripetete i punti dal 3 al 5 più volte se necessario, correggendo tutti i file che saranno mostrati dalla schermata di errore come in precedenza, fino a che l'aggiornamento andrà a buon fine.

Nota: Il fatto di trovare file con permessi a 444 (file in sola lettura), può essere dovuta in alcuni casi a degli script che per sicurezza impostano permessi di non-scrittura su file come quelli ad esempio di configurazione. Essenzialmente è caratteristica di alcuni Host provider.

Problema di Ownership

Se il vostro problema non consiste nei permessi ma nel gruppo/proprietario del file (ownership):

 owner-group

Sarà necessario aprire il terminale (se ne avete i permessi e gli accessi attraverso servizio SSH al server) e dare un comando simile a questo:

chown -R www-data:www-data /var/www/vostra-root/components/xxx/
  • www-data:www-data sono proprietario:gruppo.
  • /var/www/vostra-root/components/xxx/ è la cartella dove risiedono i file con proprietario/gruppo errato
ATTENZIONE!!! - E' da sottolineare che in genere www-data è l'utente di default di apache e sul vostro server web potrebbe essere nominato sia il gruppo che il nome utente in maniera diversa rispetto a quanto riportato in questa piccola guida.

Nel fare queste operazioni, per altro molto delicate, raccogliete le informazioni necessarie e operate in sicurezza, facendo copie dei file o un backup preventivo del vostro sito. Non si risponde di eventuali danni causati al vostro sito.

Detto questo, probabilmente ci vorrà un po' di pazienza, ma alla fine del processo otterrete ciò che desideravate: L'installazione della vostra estensione sul vostro sito Joomla!

Se hai gradito l'articolo, condividilo, basta un click!

Aggiungi commento


Codice di sicurezza
Aggiorna

  • logo prontopro
  • logo boutique serramento
  • koilab japan and tropical fish farm
  • Trasloco economico - gruppo Arco Traslochi
  • logo flash pulizie
  • logo revolution
  • logo planetkoi small
  • logo finiture
  • ick logo template
  • montaggio mobili trento

Realizzato da: Daniele Gagliardi
Viale Monache 3 - 38062 Arco - TN
- Contattami -

Per essere più facile ed intuitivo, il blog fa uso dei cookie, piccole porzioni di dati che consentono di capire come gli utenti navighino e ne visualizzino le pagine. I cookie non registrano alcuna informazione personale sull'utente ed eventuali dati identificabili non verranno memorizzati.