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를 사용하므로 사용자 아파치로 다음을 수행하면 파일이 변환되지 않습니다.
<?php
shell_exec('/usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc');
?>
문제를 해결하기 위해 쉘을 통해 사용자 아파치와 동일한 명령을 실행했지만 여전히 파일을 변환하지는 않습니다.
[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를 사용할 때 생각합니다. 하지만 확실하지는 않습니다).
사용자 아파치로 실행할 때 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....
않습니까?