Zainstalowałem libreoffice-headless i mogę konwertować dokumenty po zalogowaniu do powłoki jako zwykły użytkownik.
[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
Chciałbym teraz zrobić to samo, ale używając PHP i dlatego jako apache użytkownika, jednak poniższe pliki nie będą konwertować pliku.
<?php
shell_exec('/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc');
?>
Próbując rozwiązać problem, uruchomiłem to samo polecenie przez powłokę, co apache użytkownika, ale nadal nie będzie on konwertować pliku:
[root@desktop ~]# su -s /bin/sh apache -c "/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc"
Apache w przeciwieństwie do zwykłych użytkowników nie ma domu i przypominam sobie, że HOME=/tmp/ayb
przed próbą konwersji może być konieczne określenie domu , ale to nie pomaga (myślę, że kiedy korzystam z CentOS 5.8 i prawdopodobnie innej wersji LibreOffice, to zrobił, ale nie jestem pewien).
Jak przekonwertować plik do formatu PDF za pomocą libreoffice, uruchamiając go jako apache użytkownika?
Zainstalowany system:
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 ...
działa? Jaki jest celexport
i dlaczego nieHOME=/tmp/ayb; libreoffice --headless....
działa?