Ho installato libreoffice-headless e posso convertire documenti quando si accede alla shell come un normale utente.
[root@desktop ~]# yum install libreoffice-headless
[root@desktop ~]# yum install libreoffice-writer
[root@desktop ~]# su NotionCommotion
sh-4.1$ /usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
convert /tmp/ayb/document_34.doc -> /tmp/ayb/document_34.pdf using writer_pdf_Export
Vorrei ora fare la stessa cosa, ma usando PHP e quindi come utente apache, tuttavia, il seguente non convertirà il file.
<?php
shell_exec('/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc');
?>
Nel tentativo di risolvere i problemi, ho eseguito lo stesso comando tramite la shell dell'utente apache, ma non convertirà il file:
[root@desktop ~]# su -s /bin/sh apache -c "/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc"
Apache a differenza degli utenti normali non ha una casa, e ricordo di aver sentito che potrei aver bisogno di specificare una casa usando HOME=/tmp/ayb
prima di provare a convertire, ma non aiuta (penso che quando uso CentOS 5.8 e probabilmente una versione diversa di LibreOffice, sì, ma non ne sono certo).
Come posso convertire un file in PDF usando libreoffice quando lo eseguo come apache utente?
Sistema installato:
CentOS 6.4
httpd.x86_64 2.2.15-28.el6.centos @updates
libreoffice-headless.x86_64 1:3.4.5.2-16.1.el6_3 @base
export HOME=/tmp/ayb libreoffice --headless ...
funziona? Qual è lo scopoexport
e perché nonHOME=/tmp/ayb; libreoffice --headless....
funziona?