2012-02-03 146 views
1

我想在我的web服務器上運行pdftk。這是一個PHP 5.3.2的Linux Centos。在Linux上通過php運行pdftk centos

當我通過COMMANDE線連接它,我做

pdftk --version 

這是確定的

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

這是確定的。

現在,我這樣做是通過PHP:

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

這也不行。爲什麼??我搜索關於文件的鏈接,但它看起來不錯。

這並不工作過:

exec(pdftk --version) 

我安裝PDFTK這個How do I install Pdftk on my server?

那麼,什麼是錯的?

感謝您的幫助!

+0

您使用'高管以同樣的方式受到影響(PDFTK A = p1-9.pdf cat A1 output p1.pdf)'或'exec(「pdftk A = p1-9.pdf cat A1 output p1.pdf」)'?注意命令周圍的引號。此外,你會得到什麼錯誤信息,這是什麼意思「它不工作」? – gioele 2012-02-03 14:38:35

+0

當然我使用引號。當我寫下這條消息時,我忘了把它們放進去。感謝那。此外,PDF不會生成... – 2012-02-03 15:31:25

回答

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? – 2012-02-03 15:17:48

+0

我的pdftk在這裏/ usr/local/bin – 2012-02-03 15:22:40

+0

您是否嘗試過設置'system(「PATH = \ $ PATH:/ usr/local/bin/&& $ command」,$ response);'? – 2012-02-03 16:06:05