Я установил libreoffice-headless и могу конвертировать документы при входе в оболочку как обычный пользователь.
[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
Теперь я хочу сделать то же самое, но с использованием PHP и, следовательно, как пользователь apache, однако, следующее не будет конвертировать файл.
<?php
shell_exec('/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc');
?>
В попытке устранить неполадки я выполнил через оболочку ту же команду, что и пользователь apache, но все равно он не будет преобразовывать файл:
[root@desktop ~]# su -s /bin/sh apache -c "/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc"
Apache, в отличие от обычных пользователей, не имеет дома, и я помню, что слышал, что мне может потребоваться указать домашнее использование, HOME=/tmp/ayb
прежде чем пытаться конвертировать, но это не помогает (я думаю, что при использовании CentOS 5.8 и, возможно, другой версии LibreOffice, это сделал, но не уверен).
Как мне преобразовать файл в PDF, используя libreoffice, когда он запускается как пользователь apache?
Установленная система:
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 ...
работает? Какова цельexport
и почему неHOME=/tmp/ayb; libreoffice --headless....
работает?