3

考虑以下代码

echo "tar -cvf $outpath -C $path $file<br>";
$arr = array();
$val = exec("tar -cvf $outpath -C $path $file", $arr);
var_dump($arr);

echotar -cvf ../folder/subfolder1/1234.tar -C ../folder/ subfolder2如果我从 htdocs 文件夹中的命令行调用它,则输出和此命令确实会创建存档。然而 exec 什么也不做。var_dump($arr)打印空数组。所以这里有问题

  1. 我怎样才能exec创建存档?
  2. 为什么输出空数组?

UPD。请注意,我正在运行 Windows。

4

1 回答 1

3

对于那些将阅读此问题的人:添加2>&1到命令有帮助。我用shell_exec而不是Sheel

$val = shell_exec("tar -cvf $outpath -C $path $file 2>&1");
echo "$val"; // prints output from tar
于 2013-08-27T16:45:20.710 回答