我在使用PHP时遇到了问题。我无法解决这个问题,我尝试使用以下代码:
exec("pdfcrop --margins '-6 -2 -3 -2' '/home/username/pdf/Figure 1 Timeline of Virtual Sim Use/page.01.pdf' '/home/username/pdf/out/output.pdf'", $output, $error);
每当我在exec()
中使用这个命令时,它都会返回状态代码2,但是如果我将这个命令用于我的终端,那么它就工作得很好。所以请给出你的建议来解决这个问题。
谢谢。。
发布于 2014-01-16 10:36:38
php函数在apache用户( www-data )用户下运行进程,很可能该用户没有访问:/home/username/pdf/图的权限。
您可以通过尝试将此路径更改为pdf file.pdf的/tmp/name来测试这个非常简单的方法。
发布于 2018-02-11 07:42:21
pdfcrop
是一个Perl程序。打开它读取,您会发现它在当前目录中创建了tmp
文件。
在我做了以下更改之后,它在PHP调用中工作:
发布于 2018-08-31 11:27:47
在LinuxDebian9.5的情况下,我从Php exec()
函数中获得了代码2,因为/etc/passwd
文件中的用户www-data控制台错误:我不得不更改行:
www-data:x:33:33:www-data:/usr/sbin/nologin
至:
www-data:x:33:33:www-data:/var/www:/bin/bash
现在,错误消失了,命令按预期执行!
https://stackoverflow.com/questions/21159183
复制相似问题