Scusate la domanda da Linuxniubbo, ma da cosa può dipendere il fatto che non risco ad eseguire un qualsivoglia eseguibile (dotato dei necessari permessi di esecuzione) su Linux/Apache2/PHP5?
10x.
Scusate la domanda da Linuxniubbo, ma da cosa può dipendere il fatto che non risco ad eseguire un qualsivoglia eseguibile (dotato dei necessari permessi di esecuzione) su Linux/Apache2/PHP5?
10x.
mark2x devi spiegare un' attimo lo scenario della tua situazione.
Che eseguibile stai cercando di far partire?
Sei su shell o su web?
Quale funzione di php stai usando?
e possibilmente un pezzetino di codice ....
Un qualsiasi eseguibile, mettiamo Firefox, ovviamente da script PHP via Apache 2 su Linux.
aspe aspe fammi capire.. tu vuoi eseguire un file tipo
firefox.exe ?
Oppure vuoi... cioè che c'entra php con gli eseguibili cmq?? :master:
Questa e' la mia firma! Lo so, e' una mezza schifezza.![]()
Un sito
- skype non è per consulenze online -
Non va:
Mentre va:Codice PHP:
$comando = "/usr/bin/soffice";
shell_exec($comando);
pdftk è un tool da linea di comando.Codice PHP:
$comando = "/usr/bin/pdftk";
shell_exec($comando);
Su Win non c'è differenza, se lancio un eseguibile lancio anche l'altro, posto il settaggio di "Permetti ad Apache di interagire col desktop" nella sua finestra in Servizi.
Ma su Linux?
C'è per caso un settaggio analogo? Non saprei dove iniziare dato che Linux lo conosco davvero poco.
ah guarda pensavo volessi fare una cosa diversa... devo ammettere che non son capace di darti una mano su questo... mi spiace...![]()
Questa e' la mia firma! Lo so, e' una mezza schifezza.![]()
Un sito
- skype non è per consulenze online -
Premessa:Originariamente inviato da mark2x
Non va:
Mentre va:Codice PHP:
$comando = "/usr/bin/soffice";
shell_exec($comando);
pdftk è un tool da linea di comando.Codice PHP:
$comando = "/usr/bin/pdftk";
shell_exec($comando);
Su Win non c'è differenza, se lancio un eseguibile lancio anche l'altro, posto il settaggio di "Permetti ad Apache di interagire col desktop" nella sua finestra in Servizi.
Ma su Linux?
C'è per caso un settaggio analogo? Non saprei dove iniziare dato che Linux lo conosco davvero poco.
Devi innanzi tutto vedere con quale utente gira apache (nel mio caso www-data):
Solitamente l'utente con cui gira il webserver non ha una shell valida (nel senso che non può accedere al pc ad esempio tramite ssh e non può far partire programmi).codice:caladan:/home/gianiaz# ps aux | grep apache root 2186 0.0 1.1 15688 5192 ? S Jul17 0:00 /usr/sbin/apache www-data 2191 0.0 1.8 17720 8476 ? S Jul17 0:03 /usr/sbin/apache
Quindi dobbiamo verificare che l'utente con cui gira apache abbia questa possibilità.
Lo verifichiamo cosi:
(il primo caso è quello dell'utente www-data che ha una shell valida, mentre il secondo è quello di un utente di sistema che non ha diritto di far partire le applicazioni).
Nel mio caso posso far partire i programmi che voglio, e dovrebbe funzionare il tuo metodo.codice:caladan:/home/gianiaz# cat /etc/passwd | grep www-data www-data:x:33:33:WebServer Caladan:/var/www:/bin/sh caladan:/home/gianiaz# cat /etc/passwd | grep syslog syslog:x:112:113::/:/bin/false caladan:/home/gianiaz#
Sappi che comunque (come ti avevo già detto tempo fa) non è una gran soluzione permettere al web server di far partire applicazioni tipo openoffice, quindi prendi in considerazione le altre possibilità per generare i pdf.
ciao
Grazxie 1000000^10.... però....
indica che apache gira come "apache", il quale:codice:ps aux | grep httpd
Infatti "apache" esegue comandi da shell, ma non OO o Firefox ad esempio, che hanno interfaccia GFX. Ti dice qcosa?codice:[marco@192 ~]$ cat /etc/passwd | grep apache apache:x:71:71:system user for apache-conf:/var/www:/bin/sh
ma tu da console se ti logghi come utente apache riesci ad avviare openoffice?
prova a lanciare proprio da shell l'eseguibile, e vedi se ti rilascia degli errori.
GFX non mi dice nulla purtroppo...
ciao
Ci stavo provando proprio ora... ma non so quale sia la password dell'utente "apache"...Originariamente inviato da gianiaz
ma tu da console se ti logghi come utente apache riesci ad avviare openoffice?
prova a lanciare proprio da shell l'eseguibile, e vedi se ti rilascia degli errori.
Ne esiste una di default?