path是存在的,权限是好的,但仍然出现错误

我最近用堆栈溢出提供的指令安装了pdftk

我安装它,并运行命令whereis pdftk结果

 /usr/local/bin/pdftk /usr/bin/pdftk 

我有powerpannel访问,我通过它看到,pdftk实际上存在于该位置

我运行命令pdftk --version ,没关系

但在php中使用

 <?php $command = "pdftk --help"; system("PATH=/usr/local/bin/ && $command",$response); if ($response===FALSE){ echo 'sorry error occured'; } else{ echo $response; } ?> 

输出是127我使用的版本是1.41和输出'127'是我不能理解的东西

有人可以指导我吗?

编辑

其实,我正在试图通过填写一个pdf格式生成dynamicpdf,我的passthru是

  passthru("/usr/local/bin/pdftk hud3.pdf fill_form result.pdf output - flatten"); 

这没有任何回报

虽然声明之前的声明popup下载,我按保存button将其保存在本地,它不是保存在我的硬盘上。 试图debugging情况,并从已经问的问题上得到帮助,我认为先运行pdftk。 这是上述127情况上升的地方,需要指导

一些事情。

1)不要编译自己的pdftk,并将其粘贴到/ usr / local / bin /中。 你应该使用包来代替。 pdftk软件包在RPMForge仓库中可用:

 $ yum info pdftk Loaded plugins: priorities, ps Available Packages Name : pdftk Arch : i686 Version : 1.44 Release : 2.el6.rf Size : 906 k Repo : rpmforge Summary : PDF Tool Kit URL : http://www.pdfhacks.com/pdftk/ License : GPL Description : If PDF is electronic paper, then pdftk is an electronic staple-remover, : hole-punch, binder, secret-decoder-ring, and X-Ray-glasses. Pdftk is a simple : tool for doing everyday things with PDF documents. Keep one in the top drawer : of your desktop and use it to: 

事实上,如果你的“whereis”正在返回你正在显示的内容,pdftk已经被安装了。 运行rpm -qa |grep pdftk 。 如果你没有得到任何东西,请通过yum进行安装(查看http://wiki.centos.org/AdditionalResources/Repositories/RPMForge ,了解如何将RPMForge添加到可用的仓库中)。 在任何情况下,删除你编译的。

2)您在PHP中的system语句是:“PATH = / usr / local / bin / && pdftk –help”。 这将把PATH设置为只有/ usr / local / bin,然后执行pdftk --help如果它在PATH中find的话。 返回代码127来自bash,并且表示找不到pdftk(这很奇怪,因为你指定了唯一的PATH,但这是另一回事),或者“&&”可能会使PHP系统function混淆。 无论如何,为什么不使用: system("/usr/local/bin/pdftk --help", $response)

函数system返回执行的命令的状态码,而不是实际的string输出。 你可以查看这个页面 。 所以127的值就是执行命令的退出状态。

要获得文本输出,您需要使用shell_exec 。