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を使用している場合、したが、確かではない)。
ユーザーapacheとして実行するときにlibreofficeを使用してファイルをPDFに変換するにはどうすればよいですか?
インストールされているシステム:
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....
ですか?