Originariamente inviato da mark2x
Non va:

Codice PHP:
$comando "/usr/bin/soffice";
shell_exec($comando); 
Mentre va:

Codice PHP:
$comando "/usr/bin/pdftk";
shell_exec($comando); 
pdftk è un tool da linea di 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.
Premessa:

Devi innanzi tutto vedere con quale utente gira apache (nel mio caso www-data):
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
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).

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).
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#
Nel mio caso posso far partire i programmi che voglio, e dovrebbe funzionare il tuo metodo.

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