Ich habe libreoffice-headless installiert und kann Dokumente konvertieren, wenn ich als normaler Benutzer in der Shell angemeldet bin.
[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
Ich möchte jetzt das Gleiche tun, aber mit PHP und daher als Benutzer-Apache wird die Datei jedoch im Folgenden nicht konvertiert.
<?php
shell_exec('/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc');
?>
Bei dem Versuch, eine Fehlerbehebung durchzuführen, habe ich denselben Befehl über die Shell ausgeführt wie Benutzer-Apache, aber die Datei wird trotzdem nicht konvertiert:
[root@desktop ~]# su -s /bin/sh apache -c "/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc"
Im Gegensatz zu normalen Benutzern hat Apache kein Zuhause, und ich erinnere mich, dass ich möglicherweise ein Zuhause angeben muss, HOME=/tmp/ayb
bevor ich versuche, es zu konvertieren, aber es hilft nicht (ich denke, wenn ich CentOS 5.8 und wahrscheinlich eine andere Version von LibreOffice verwende, ist es das tat, bin mir aber nicht sicher).
Wie konvertiere ich eine Datei mit libreoffice in PDF, wenn ich sie als Benutzer-Apache ausführe?
Installiertes 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 ...
? Was ist der Zweck vonexport
und warum funktioniert es nichtHOME=/tmp/ayb; libreoffice --headless....
?