原始错误消息是
sh: 1: pdftk:找不到
这显然导致了这。这不是我第一次遇到这个问题,我确信这不是pdftk或php-pdftk。
这里是背景故事,我在linuxmint上开发了使用php5.4的web应用程序。然后这个项目就停止了。我已经有了这个项目的存储库,所以我删除了所有的文件。几个月后,我决定在php 7,7.3上写一个全新的项目,准确地说。
突然间我不得不做新的补丁。那么,这是我得到pdftk的方式。在终端上,我可以使用pdftk cli,比如打印当前版本。但是,But服务器仍然表示同样的错误。
注释中的澄清
我认为这与权限有关,二进制已经安装好了。我可以通过终端使用它。
发布于 2019-09-26 02:24:48
如果pdftk可以从用户登录中使用(正如您所说的那样在终端上),那么有几个选项:
权限:检查文件中是否有权利权限,使每个人都能执行它。
环境:当您在命令行上输入pdftk时,解释器(Shell、Bash等)知道在不同的地方查找二进制文件。例如,它将在/usr/bin中查找。在PATH环境变量中设置它的位置(请参见echo $PATH)。但是,这在您的用户配置中。在Apache服务器下运行的PHP可能没有此环境。因此,在您的代码中,最好对完整路径进行调用。哪条路?您可以通过在终端中运行which pdftk来找到答案。在PHP代码中给出完整的路径可以避免PATH问题。
与许可有关的其他可能相关职位:
发布于 2019-11-27 15:26:32
我得到pdftk的方式是通过snap,遗憾的是它没有什么限制。即使在上面提到的文章也建议通过snap安装,但遗憾的是,它也给出了这个问题。
现在pdftk可以在mint上使用,然后您可以通过snap卸载pdftk,然后通过apt直接安装pdftk。
apt install pdftkhttps://serverfault.com/questions/985657
复制相似问题