"Error copying the file"

6 contenuti / 0 new
Ultimo contenuto
"Error copying the file"

Ciao utilizzo drupal 5.1 con i moduli TinyMCE e IMCE
Ho creato nella cartella files delle sottocartelle

  • arte
  • federico
  • fiere
  • fiere1
  • segnalo

La cartella files ha permessi 777 mentre le sottocartelle 775.
Provo a caricare un immagine in queste cartelle da profilo utente > personal files (www.miosito.com?q=it/user/1/imce)
alcune volte ho l'errore "Error copying the file" come se la cartella fosse bloccata e Linux mi impedisse il caricamento.
Se ripeto questa operazione a distanza di giorni l'operazione va a buon fine su alcune cartelle e non su altre

Premetto

  • ho spazio a sufficienza per caricare le foto
  • ho provato, come segnalato su http://drupal.org/node/170170 a cambiare i permessi delle cartelle e a metterli a 777 ma non è servito a niente.
  • ho provato a cancellare (temporaneamente) il file ".htaccess" presente il files e nella root ma non ho ottenuto niente
  • ho provato, tramite script php e comando php fileowner() a farmi stampare l'owner della cartelle. Premesso che accedo via FTP con utente federico e il risultato è:
    • files -> federico
    • files/arte -> federico
    • files/federico -> nobody
    • files/fiere -> nobody
    • files/fiere1 -> federico
    • files/segnalo -> nobody

Oggi ho riprovato a caricare la stessa immagine sulle varie cartelle e il risultato è

  • files -> OK
  • files/arte -> Error copying the file.
  • files/federico -> OK
  • files/fiere -> OK
  • files/fiere1 -> Error copying the file.
  • files/segnalo -> OK

Ho pensato che il caricamento sia possibile quando la cartella è di nobydy ma questa ipotesi non funziona visto che su files il caricamento ha avuto effetto.

Ho provato ad effettuare caricamenti via web ftp (cpanel -> file manager) sia con Dreamweaver ma ottengo gli stessi errori.

La stessa anomalia l'ho riscontrata su vari siti che sto realizzando in Drupal. Utilizzando sempre IMCE accade che dopo un pò si genera l'errore "Error copying the file." oppure non è possibile cancellare un'immagine

Le mie domande sono quindi

  1. Come posso sbloccare la cartella e consentire il caricamento dell'immagine ?
  2. non conoscendo come funziona linux può essere che IMCE crei un processo che blocca la cartella e che per un errore di codice non termini nel modo corretto ?
  3. A qualcuno è capitato un errore simile ?

Grazie a tutti

Silvio

DA quello che mi sembra di capire il server va in timeout, quindi o cerchi di inviare immagini troppo grosse e quindi l'upload termina il tempo a disposizione senza trasferire completamente l'immagine, o il tuo server ha uno spazio di memoria per i file che cerchi di caricare tropo basso, prova con immagini più piccole (come peso in kb) e vedi se il problema è li, altrimenti prova a vedere se i log danno qualche informazione aggiuntiva.

PS: edita meglio i tuoi post usando i pulsanti che vedi sopra, permettono una più facile comprensione del testo, per questa volta ho sistemato io..

Ciao
Marco
--
My blog
Working at @agavee

Grazie Mavimo

Come spazio ho Disk space available = 2.06 Megabytes
L'immagine che carico in questa fase di test è sempre la stessa. Questo per escludere l'eventualità che il problema sia dato dal formato dell'immagine. Come dimensioni è di 7.837 byte

Da queste considerazioni devo escludere che l'errore sia dovuto dalla dimensione dell'immagine o dallo spazio disponibile

Se vado in Home » Amministra » Log non ho dei messaggi di errore relativi alle immagini.

Se vado nel "Error Log" messomi a disposizione dal Cpanel del server non trovo neanche li errori relativi alle immagini.

Ho provato leggere il codice di imce.module. L'errore viene generato alla riga 269

. . . . .
  if (!@copy($file['tmp_name'], $newpath)) {
    drupal_set_message(t('Error copying the file.'), 'error');
    return FALSE;
  }
. . . . .

Putroppo la funzione copy ( http://it2.php.net/copy ) in caso di fallimento restituisce FALSE senza indicazioni aggiuntive sul motivo di errore :-(

Non so più cosa pensare

mm... sembra che non riesca a copiare il tuo file dallo spazio temporaneo (cosa hai impostato?) alla directory di salvataggio (presumo files), prova a vedere cosa contengono le due directory, eventualmente prova a cambiare la directory temporanea e mettigli tutti i permessi (777).

Ciao
Marco
--
My blog
Working at @agavee

Dunque:
Percorso di sistema: files permessi 777
Directory temporanea: /tmp permessi 755
le altre sottocartelle hanno permessi 775

proverò a fare la modifiche sui permessi e vedo cosa succede

Ho cambiato i permessi solo a /tmp
carico lo stesso file su le seguenti cartelle ed eco il risultato - ho indicato permessi e proprietario della cartella

  • files -> 777 [federico] -> caricamento OK
  • files/arte -> 775 [federico] -> Errore
  • files/federico -> 775 [nobody] -> caricamento OK
  • files/fiere -> 775 [nobody] -> caricamento OK
  • files/fiere1 -> 775 [federico] -> Errore
  • files/segnalo -> 775 [nobody] -> caricamento OK

quindi la modifica dei permessi a tmp non è necessaria

Ho portato a 777 i permessi di arte e di fiere1 che sono di proprietà di federico ed ora il caricamento funziona.

Concludendo
Sembra quindi che:

  • se la cartella è stata creata tramite Amministra > Configurazione del sito > IMCE settings > Sub-folder tool è di proprietà di [nobody] ed posso lasciare i permessi 775
  • se la cartella è creata via FTP (es Cpanel o Dreamweaver) è di proprietà di [federico] e devo portare i permessi a 777

Questa soluzione non mi soddisfa infatti non mi è chiaro:

  • perché [federico] che è l'utente che normalmente accede via FTP al sito non è user nè fa parte del group e necessita permessi di world per scrivere?
  • i permessi 777 non sono un pò pericolosi ?
  • è possibile cambiare l'user e portarlo a [nobody] in modo da evitare di cambiare i permessi ?

Grazie