Permission denied

12 contenuti / 0 new
Ultimo contenuto
Permission denied

Buongiorno a tutti, premetto che sono assolutamente nuovo di drupal. Ho iniziato proprio oggi a sperimentare il tutto, ho caricato il modulo Image e ho creato una galleria. Volevo inserire una immagine ma c'è il messaggio di errore:
copy(files/images/temp/nomefile.JPG): failed to open stream: Permission denied in D:\Inetpub\webs\aiabrait\includes\file.inc nella riga 288.

Ho provato a cambiare i permessi della cartella ma... niente da fare... non si cambiano. Che devo fare? Grazie!

Per i permessi dei files non saprei, con linux se usi chmod riesci a cambiarli. Tu però sei su windows. Ma non dovrebbe c'entrare nulla per la funzione copy. Su windows deve funzionare. Penso sia possibile che l'amministratore abbia disabilitato la creazione di cartelle tramite il php.

Quando sei andato in "impostazioni"->"image galleries" che messaggio ti ha ritornato? Dovrebbe averti detto che le cartelle sono state create. Controlla nella directory /files e guarda che directories ci sono.
In ogni caso ho provato a scaricare ed installare il modulo sul mio pc (quello con windows) e funziona.
Penso che sia un problema del tuo hoster, però è possibile che (forse):
- hai inviato un file di dimensioni troppo grandi
- c'è qualche impostazione del tuo hoster che ti impedisce di lavorare con le directory e i files

Nella cartella /files quali cartelle ci sono?
Controlla con la funzione phpinfo() le impostazioni del tuo php. Magari prova a controllare la dimensione massima di upload e confrontala con la dimensione del file che hai caricato.

Prova anche a chiedere assistenza al tuo hoster per conoscere meglio l'ambiente in cui si trova il tuo sito (impstazioni varie, ecc.).

nicola

Ho dimenticato che il sito è su Aruba, andando in "impostazioni->image galleries" mi dice praticamente nulla, se non che le "image galleries sono fatte per salvare immagini..."

su aruba allora non so, però ho visto qualcosa, come ad esempio qui:
http://www.drupalitalia.org/?q=node/244

Ciao davide,

Il problema non è aruba, ma è l'hosting windows di aruba (penso che tu sia sotto windows!),
L'errore è dovuto al fatto che per impostazione gli script possono scrivere solo sulla cartella pubblic e non nella root del sito.

Se l'hosting è sotto linux dacci più info (versioni drupal, php....)
Se l'hosting è sotto Windows è un problema.
Domanda: Il modulo uploads ti funziona?

Ciao Uccio

Ps1: salutami il poli!!.. ma anche no!

Ciao uccio!!! Quando ho visto il nick mi sono chiesto se eri proprio tu e ne ho avuto la conferma!
Su suggerimento di Paolo ho messo la versione 4.7 e cercando di allegare un file mi viene fuori l'errore che puoi prendere all'indirizzo www.aiabra.it/immagine.png

Per il dominio ho appena fatto la conversione Hosting Windows & Linux
Ti serve altro?

... ovviamente GRAZIE!

Il tuo problema potrebbe essere diverso da ciò che sembra. Durante l'upload, l'allegato viene prima messo nella directory temporanea e poi spostata nella cartella files. Probabilmente non hai i permessi per scrivere nella directory temporanea o il percorso è errato (è solo un ipotesi).
Prova a creare una nuova directory sotto la directory files/ di drupal (chiamala tmp). Dai i permessi 777 a questa nuova directory. Vai sulla configurazione e metti come directory temporanea files/tmp (notare l'assenza dello slash iniziale!!! in modo che diventi path relativo)
Così dovrebbe funzionare.

Ciao
Gianni

Ovviamente se la prova sopra funziona, fatti dire l'esatto percorso della directory temporanea oppure metti uno script php con phpinfo() in modo da scoprirlo tu.

Ciao
Gianni

ciao,

Sotto win i server di aruba rompono se tu cerchi di fare l'Unlink (Eliminazione del file).
Il file in effetti è già stato caricato sul server, scritto, copiato nella destinazione ma al momento di eliminare il file temporaneo (politicamente corretto da parte dello script) il server si rifiuta perchè l'utente non ha privilegi in C:\PHP\uploadtemp\ (mi sembra che gli upploads finiscano lì).

Soluzione:
NON FARE l'unlik o meglio farlo ma non vedere se la funzione torna TRUE e forzare lo script a continuare.
La modifica al file \includes\file.inc alla riga 331 modificando la funzione così(soluzione testata):

function file_delete($path) {
if (is_file($path)) {
//return unlink($path);
return TRUE;
}
}

Attenzione: questa modifica è relativa Drupal 4.6 per la versione 4.7 cerca attorno alla riga 365 come da errore!

Ciao Uccio

Ps:Fammi sapere se funziona!!!
Ps:Avevo gia parlato del problema Uploads su Aruba qui:
http://www.drupalitalia.org/?q=node/244

Uccio, hai provato a crearti una directory temporanea sotto files, dagli i diritti 777 e mettere quella directory come temporanea di Drupal? L'unlink credo che avvenga su questa directory, che nella maggior parte dei casi coincide con la temporanea del sistema. Prova, non ti assicuro che funzioni, ma a me su un caso simile nella intranet aziendale ha funzionato.

Ciao
Gianni

Ciao Gianni,
Il problema è semplice sotto host Aruba-Win la cartella con accesso in scrittura è ./public tutto il resto e lettura fatta eccezzione mdb-database che è solo esecuzione.
Per far funzionare il sito bisogna nei percorsi mettere la parte degli uploads dentro ./pablic (anche se ciò comporta mettere path del tipo ../qualcosa per installazioni in sotto-directory del dominio).

Ti ricordo che chmod fa parte del mondo *nix (linux-unix-...) e sotto win al massimo bisognerebbe mettere l'utente IUSR_Nome-macchina con privilegio di scrittura.

Ciao Uccio

Intanto vi ringrazio per l'aiuto. Al momento ho qualche problema di computer, ma appena potrò testerò quello che mi avete suggerito. Grazie!