Instalei o libreoffice-headless e posso converter documentos quando logado no shell como um usuário normal.
[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
Agora desejo fazer a mesma coisa, mas usando o PHP e, portanto, como usuário apache, no entanto, o seguinte não converterá o arquivo.
<?php
shell_exec('/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc');
?>
Na tentativa de solucionar problemas, executei o mesmo comando através do shell que o usuário apache, mas ele ainda não converterá o arquivo:
[root@desktop ~]# su -s /bin/sh apache -c "/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc"
O Apache, diferentemente dos usuários normais, não possui uma casa, e lembro-me de ouvir que talvez seja necessário especificar uma casa HOME=/tmp/ayb
antes de tentar converter, mas isso não ajuda (acho que ao usar o CentOS 5.8 e provavelmente uma versão diferente do LibreOffice, (mas não tenho certeza).
Como converter um arquivo em PDF usando o libreoffice ao executá-lo como usuário apache?
Sistema instalado:
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 ...
funciona? Qual é o objetivoexport
e por que nãoHOME=/tmp/ayb; libreoffice --headless....
funciona?