1

我想在我的网络服务器上运行 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 的位置)。

我相信你也可以通过 usingputenv("PATH=" .[your path]);和 I've used system()here 获得相同的结果,但exec()应该以同样的方式受到影响

于 2012-02-03T14:54:13.990 回答