2012-05-16 3 views
0

필자는 CentOS 컴퓨터에 LibreOffice RPMS (3.5.3과 3.4.6 모두 사용)를 설치했으며 PHP에서 LibreOffice를 호출하는 셸 스크립트를 실행하려고합니다.Apache/PHP + LibreOffice

/opt/libreoffice3.4/program/soffice --headless -convert-to $extension.pdf "$1" -outdir $folder 

그러나이 명령은 다음과 같은 메시지가 나타날 수됩니다 : :

./createpdf.sh: line 8: /opt/libreoffice3.4/program/soffice: Permission denied 

라인 자체는 괜찮 쉘 스크립트에서는이 실행이 줄을 실행합니다. SSH로 수동으로 실행하고 수동으로 실행하면 정상적으로 작동합니다. 이것은 내가 다른 사용자 (참고 : 루트 권한이 아닌 루트 권한이 아닌 사용자를 설치 한 사용자가 아닌)로 실행하고 있기 때문에 가능합니다.

내가 필사적으로 필자는 필자는 필사적으로 777 번 전체 libreoffice 폴더를 chmodding하고 'apache'사용자를 소유자로 만들려고했습니다. 운이 없다. 누구든지 아파치가 실행하지 못하게하는 이유에 대한 단서가 있습니까? 어떻게 해결할 수 있습니까?

+0

PHP를 통해 pdf로 만들고 싶습니까? –

+0

그리고'$ folder' 출력 폴더가있는 권한은 무엇입니까? –

답변

1

명령 줄에서 실행하는 대신에 PUNO PHP 랩퍼를 사용하여 UNO (COM에 대한 Open/Libre Office 대안)를 실행하는 것으로 간주 했습니까? 그렇게하면 사용 권한에 대해 걱정할 필요가 없습니다.

1

도 참조하십시오. Universal Network Objects (UNO) : 사용할 파이썬, Java 등의 브릿지가 있습니다. 변환에 대한 사용을 간소화하는 응용 프로그램은 DocvertJODConverter (jODconverterpyODconverter)을 참조하십시오.

모든 것은 PHP로 웹 서비스 또는 exec로 부를 수 있습니다.

관련 문제