我有以下php脚本,我试图在其中执行Windows上的命令并打印输出。我已经尝试过system(),shell_exec(),passthru()和exec()。
$cmd = $_POST['cmd'];
$result = array();
exec($cmd, $result);
foreach ($result as $line ){
echo $line."<br>";
}
exec($ command,$ array)最接近我在执行命令时打印所有内容的期望。我希望打印所有内容,即使出错。但是仅在命令成功执行后才打印。
如何实现?
$result
仅包含命令的标准输出,但是错误消息通常写入标准错误。运行命令时,需要将stderr重定向到stdout。
$cmd = "$cmd 2>&1"
exec($cmd, $result);