Pagina 1 di 1

"la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: ven mag 27, 2022 5:04 pm
da eugeniob
Ciao,
ho un problema quando da Risultati -> Lista per Sezioni cerco di creare il PDF. La pagina presenta l'errore "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare" che potete vedere qui:
https://elezioni.comuneortona.ch.it/cli ... ta_sezione
Avevo provato addirittura a settare i permessi a 777 per vedere se risolvevo, invece nulla. Ho provato anche con la cartella corrispondente che si trova dentro admin ma nulla da fare. Mi dite cosa può essere?

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: ven mag 27, 2022 5:40 pm
da roby
Non cambiare i permessi, cambia il proprietario con l'utente del server web, ad esempio
chown -R www-data \var\www\html\client

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: sab mag 28, 2022 8:20 am
da eugeniob
Fatto, purtroppo non ha risolto, ho eseguito la chown -R apache (è lui l'utente di apache) ma ancora niente. Altri consigli?

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: dom mag 29, 2022 9:57 am
da roby
Lo hai fatto per la cartella client in modo che si applichi a tutte le cartelle contenute?

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: lun mag 30, 2022 9:08 am
da eugeniob
Si, certo, ho fatto chown -R. Non me lo spiego...

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: mar mag 31, 2022 12:19 pm
da roby
Sul link che hai mandato non riscontro più il problema, prova a pulire la cache del browser

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: mar mag 31, 2022 12:26 pm
da eugeniob
Ciao, sì, ho modificato la pagina ed eliminato il caricamento dei simboli che generava l'errore. Ovviamente così i simboli non vengono caricati e rimane solo il testo, però almeno funziona senza problemi

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: mar mag 31, 2022 2:47 pm
da roby
se mi dici cosa hai modificato ci lavoro su. Non riesco a replicare l'errore che riscontri.

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: mar mag 31, 2022 3:44 pm
da eugeniob
Dunque, la pagina è funzioni.php dentro client/modules/Elezioni e ho modificato la funzione verificasimbolo
da così:

Codice: Seleziona tutto

# verifica stemma e lo salva come file per pdf e grafici
function verificasimbolo()
{
	global $prefix,$dbi,$id_comune,$ins_logo;
	if($ins_logo=="0"){
		$logo="vuoto.jpg";  //var nel config.php
	}else{

		$sql="SELECT simbolo,stemma FROM ".$prefix."_ele_comuni where id_comune='$id_comune' ";
	$res = $dbi->prepare("$sql");
	$res->execute();
		list($simbolo,$stemma) = $res->fetch(PDO::FETCH_NUM);
		if($simbolo!=''){
			if (!file_exists("modules/Elezioni/images/$simbolo")) {

		   		if(!is_writeable("modules/Elezioni/images")) 
					die("la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare");
	
			$filename=$simbolo;
			$file=fopen("modules/Elezioni/images/$filename",'w');
			if (fwrite($file,$stemma));
			$close = fclose($file);
			}
			$logo=$simbolo;
			$logo="logo.gif";
		}else{
			$logo="logo.gif";
		}

	}return $logo;
}
a così, semplicemnte commentando la parte che verifica se esiste il simbolo del partito

Codice: Seleziona tutto

# verifica stemma e lo salva come file per pdf e grafici
function verificasimbolo()
{
	global $prefix,$dbi,$id_comune,$ins_logo;
	if($ins_logo=="0"){
		$logo="vuoto.jpg";  //var nel config.php
	}else{

		$sql="SELECT simbolo,stemma FROM ".$prefix."_ele_comuni where id_comune='$id_comune' ";
	$res = $dbi->prepare("$sql");
	$res->execute();
		list($simbolo,$stemma) = $res->fetch(PDO::FETCH_NUM);
		if($simbolo!=''){
			/*
			if (!file_exists("modules/Elezioni/images/$simbolo")) {

		   		if(!is_writeable("modules/Elezioni/images")) 
					die("la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare");
	
			$filename=$simbolo;
			$file=fopen("modules/Elezioni/images/$filename",'w');
			if (fwrite($file,$stemma));
			$close = fclose($file);
			}
			$logo=$simbolo;
			*/
			$logo="logo.gif";
		}else{
			$logo="logo.gif";
		}

	}return $logo;
}
Ovviamento è solo una "pezza"...

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: mar mag 31, 2022 10:49 pm
da roby
Per scrupolo fai un controllo dell'utente proprietario del server web, puoi farlo controllando lo user in /etc/httpd/conf/httpd.conf o usando il comando lsof /usr/sbin/httpd (verifica il percorso che non mi ricordo se è esatto per centos o simili).
Intanto per avere il logo nel documento puoi copiare il file dello stemma nella cartella modules/Elezioni/images dandogli il nome logo.gif.
Se vuoi invece tornare al codice originale (togliendo il commento che hai inserito) devi chiamarlo con il nome che ha nel campo "simbolo" della tabella soraldo_ele_comuni

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: mer giu 01, 2022 9:14 am
da eugeniob
Ho verificato e ri-applicato il chown per sicurezza (ma era gia tutto utente apache)... Vabbè, comunque ho risolto, come da te consigliato, copiando il logo nella cartella /images. Ora funziona, ma chiaramente dovrò stare attento quando effettuo l'upgrade alle nuove versioni.
Grazie ancora

Re: "la dir modules/Elezioni/images non ha i permessi di scrittura. Correggere per continuare"

Inviato: mer giu 01, 2022 9:33 am
da roby
Ho modificato il codice per gestire la condizione, pubblicato nella rev 370