2012-02-03 3 views
1

내 웹 서버에서 pdftk를 실행하고 싶습니다. PHP 5.3.2가 적용된 Linux CentOS입니다.linux centos에서 PHP로 pdftk 실행

내가 commande 선으로 연결하면 내가

pdftk --version 

을 그것은 괜찮아요

pdftk A=p1-9.pdf cat A1 output p1.pdf 

OK입니다.

는 지금, 나는 PHP하여이 작업을 수행 : 그것은 확인을하지

exec(pdftk A=p1-9.pdf cat A1 output p1.pdf) 

. 왜?? 파일의 링크를 검색하지만 괜찮아 보입니다.

이 너무 작동하지 않습니다

exec(pdftk --version) 

나는 그래서 무슨 일이야이 How do I install Pdftk on my server?

으로 pdftk를 설치?

도움 주셔서 감사합니다.

+0

당신이'간부를 사용하는 동일한 방식으로 영향을해야한다 (pdftk A = p1-9.pdf cat A1 output p1.pdf)'또는'exec ("pdftk A = p1-9.pdf cat A1 출력 p1.pdf")'? 명령을 따옴표로 묶으십시오. 또한 어떤 오류 메시지가 나타납니다, "작동하지 않는다"는 것은 무엇입니까? – gioele

+0

물론 인용문을 사용합니다. 이 메시지를 쓸 때 나는 그들을 놓는 것을 잊었습니다. 고마워. 또한, PDF가 생성되지 않습니다 ... –

답변

3

이전에이 문제가 발생했습니다. 명령 문자열을 따옴표로 묶었다고 가정하면 (gioele이 지적한대로) 시스템 명령을 실행할 때 set your path이 필요하다는 것이 문제 일 수 있습니다. 이것을 시도하십시오 :

$command = "pdftk A=p1-9.pdf cat A1 output p1.pdf"; 
system("PATH=\$PATH:/usr/bin/ && $command",$response); 
if ($response===FALSE){ 
    //there was an error, handle it 
} 

(약간의 응답 처리도 추가했습니다). 그래도 작동하지 않으면 어떤 경로를 사용해야하는지 확인하십시오 (PDFTK를 설치 한 위치에 따라 다름).

난 당신이 또한 putenv("PATH=" .[your path]);를 사용하여 동일한 결과를 얻을 수 있다고 생각하고 내가 여기 system()을 사용했지만, exec()

+0

$ 응답을 표시 할 때, 나는 아무 것도 없습니다. pdftk가 설치된 위치는 어디에서 확인할 수 있습니까? –

+0

내 pdftk는/usr/local/bin 디렉토리에있다. –

+0

'system ("PATH = \ $ PATH :/usr/local/bin/&& $ command", $ response); –