我有一个PHP文件为名为PDFTK的工具执行shell命令。
当我直接从命令行运行它时,该命令工作正常,但它自己通过PHP脚本,它不会,也不会抛出错误。
我正在运行的命令是:
$WshShell = new COM("WScript.Shell");
$WshShell->Exec("pdftk Template.pdf fill_form 1406822788.fdf output test2.pdf");
这将获取.fdf数据并将其放入模板pdf中,然后创建test2.pdf的输出。
同样,直接通过命令行运行时工作正常。
关于我可以尝试让它运行的任何想法?
答案 0 :(得分:0)
检查方法Exec的返回,或尝试:
exec("pdftk Template.pdf fill_form 1406822788.fdf output test2.pdf");
答案 1 :(得分:0)
这可能是因为您的网络服务器进程用户没有这样做的权限。或
Add 2>&1 to the end of your command to redirect errors from stderr to stdout.
有关进一步说明,请参阅here
答案 2 :(得分:-1)
可能有很多东西,但首先要做的是指定pdftk二进制文件的完整路径。有可能,PHP环境(例如apache,nginx等)与您的用户帐户没有相同的PATH变量。