1

Web サーバーで pdftk を実行したいと思います。PHP 5.3.2 を搭載した Linux Centos です。

コマンドラインで接続すると、

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をインストールします サーバーにPdftkをインストールするにはどうすればよいですか?

それで、何が問題なのですか??

お手伝いありがとうございます!

4

1 に答える 1

3

私は以前にこの問題に遭遇しました。コマンド文字列を引用符で囲んでいると仮定すると(gioeleが指摘したように)、システムコマンドを実行するときにパスを設定する必要があることが問題になる可能性があります。これを試して:

$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()

于 2012-02-03T14:54:13.990 に答える