php exec命令没有运行?

时间:2014-07-31 16:52:01

标签: php command-line-arguments windows-server-2008-r2 pdftk

我有一个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的输出。

同样,直接通过命令行运行时工作正常。

关于我可以尝试让它运行的任何想法?

3 个答案:

答案 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变量。