即使出现错误也如何显示完整的输出?

问题描述 投票:0回答:1

我有以下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)最接近我在执行命令时打印所有内容的期望。我希望打印所有内容,即使出错。但是仅在命令成功执行后才打印。

如何实现?

php command
1个回答
0
投票

$result仅包含命令的标准输出,但是错误消息通常写入标准错误。运行命令时,需要将stderr重定向到stdout。

$cmd = "$cmd 2>&1"
exec($cmd, $result);
© www.soinside.com 2019 - 2024. All rights reserved.