tar实用程序、PHP和exec


tar utility, PHP and exec

考虑以下代码

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

echo输出tar -cvf ../folder/subfolder1/1234.tar -C ../folder/ subfolder2,如果我从htdocs文件夹的命令行调用它,这个命令真的会创建归档。然而,高管什么也不做。var_dump($arr)打印空数组。以下是的问题

  1. 如何使exec创建存档
  2. 为什么输出空数组

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

对于阅读此问题的人来说:将2>&1添加到命令中会有所帮助。我用shell_exec而不是片状

$val = shell_exec("tar -cvf $outpath -C $path $file 2>&1");
echo "$val"; // prints output from tar