Я встановив libreoffice без голови і можу конвертувати документи при вході в оболонку як звичайний користувач.
[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, коли запускається як користувальницький апарат?
Встановлена система:
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....
працює?