【发布时间】:2017-11-02 11:02:01
【问题描述】:
我已将我的代码从一台 WAMP 计算机移动到另一台计算机,运行 pdftk 的代码停止工作。我比较了 pdftk.exe 的权限,它们在两台机器上都是相同的。当我从命令提示符运行相同的命令时,它可以工作。我将exec("whoami") 添加到脚本中,两台计算机上的用户相同。当我运行exec('dir 2>&1', $out) 之类的东西时,它会执行,所以我知道 exec 在 php 中工作。
我创建了一个简单的 php 文件进行测试,但它不起作用。
<?php
$String = 'pdftk.exe > "c:\temp\temp.txt"';
exec("$String");
exec("pdftk.exe > \"c:\temp\temp.txt\"");
?>
两个 exec 命令都会导致创建一个 0 字节的文件。
如果我跑了
pdftk.exe > "c:\temp\temp.txt"
从命令行它按预期将 pdftk.exe 的输出放入 temp.txt 文件中。
这似乎一定是某种权限问题,但可执行文件的权限似乎是相同的。对此我失去了理智。
【问题讨论】: