2014-09-23 9 views
7

Sto usando wkhtmltopdf per generare pdf da html, sto cercando di eseguire il comando seguente tramite la funzione exec() di PHP, ma è non genera il pdf, non mostro comunque alcun errore. Ma quando ho eseguito lo stesso comando attraverso la linea di comando funziona.Impossibile eseguire wkhtmltopdf commando tramite la funzione exec() in php ma lo stesso comando funziona su riga di comando

Di seguito è il mio codice PHP che sto usando per eseguire il comando di generare pdf.

$command = "wkhtmltopdf -s A4 /inputhtmlfilepath/test.html /outputfilepath/output.pdf"; 
exec($command); 

Alcune informazioni circa la mia messa a punto:

Sistema operativo - Ubuntu 12.04

Versione PHP - 5.4.3

Qualsiasi aiuto sarebbe apprezzato, grazie.

+0

Utilizzare il percorso completo dei file; assicurarsi che l'utente del server Web abbia i diritti sui file/dirs. –

+1

@Digitial, ho fornito il percorso completo per entrambi i file di input e di output e la cartella ha il permesso completo per tutti gli utenti, impostato su 777 ora. Ancora senza fortuna. –

+1

Usa le opzioni [output e return var] (http://php.net/manual/en/function.exec.php) per vedere cosa sta succedendo. –

risposta

9

Se si riceve "impossibile connettersi all'errore del server X", provare.

1.Installare il pacchetto Xvfb

sudo apt-get install xvfb 

2.Creare un file come 'wkhtmltopdf.sh' e aggiungere il seguente codice a questo e salvare

xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf "[email protected]" 

3.Then spostare questo file in/usr/local/bin e dare i permessi

sudo chmod 555 /usr/local/bin/wkhtmltopdf.sh 

4. Quindi provare a creare pdf eseguendo il comando.

/usr/local/bin/wkhtmltopdf.sh input.html output.pdf 
+1

Questo funziona per me. Grazie –

Problemi correlati