Ho installato libreoffice headless su un server freebsd con apache per convertire i documenti a livello di codice (ad esempio, odt-> pdf). Funziona dalla riga di comando! Ma il mio obiettivo è essere in grado di farlo da php. Ciò richiede che l'utente Web (www) possa eseguire libreoffice. Ma non può.Esecuzione di libreoffice da php exec()
Quando si esegue LibreOffice come la mia utente, ottengo:
%libreoffice --headless -convert-to pdf Litteraturundervisningogit.doc
javaPathHelper: not found #This should not be a problem, says people on the net.
convert /usr/home/bundsgaard.net/www/jeppe/foredrag/Litteraturundervisningogit.doc ->
/usr/home/bundsgaard.net/www/jeppe/foredrag/Litteraturundervisningogit.pdf using writer_pdf_Export
%
Se provo lo stesso comando come root, non funziona. Lo stesso è il problema con il www-utente da php:
sp# libreoffice --headless -convert-to pdf Litteraturundervisningogit.doc
javaPathHelper: not found
sp#
Il problema è che non ho ricevuto alcuna informazione da LibreOffice, quindi non so il motivo per cui LibreOffice non vuole correre come gli altri utenti rispetto il mio.
La mia domanda è: come posso dare l'autorizzazione www-user per eseguire libreoffice tramite exec() in php?
è solo un problema di PATH? Cosa c'è nei rispettivi '$ PATH'? – Wrikken
Hai provato da riga di comando con utente root, '% sudo php program.php', che come cliente ha il permesso? –