PHP exec() TRACERT.exe如何将所需的参数传递给 Windows 命令



我想用 PHP exec() 在 Windows 机器中远程执行 tracert。我有:

<?php
    echo exec("C:\Windows\System32\TRACERT.exe");
    echo "<br/>Success!";
?>

这不会给我错误,它会打印"成功!但是,如何将参数(例如 IP 地址传递给 tracert.exe并将结果打印到变量或数组中呢?我不知道传递看起来像这样的参数的语法:tracert 等。

我更喜欢 passthru(),因为跟踪路由输出可以在浏览器中即时观看,而不必等到完成。

$IP=$_REQUEST['IP'];
set_time_limit(120);
echo "<h1>Traceroute $IP</h1><pre>";
passthru("tracert.exe -h 8 $IP");

默认情况下,exec将仅返回已执行命令的最后一行。

应按如下方式使用shell_exec

<?php
    $result = shell_exec("C:\Windows\System32\TRACERT.exe www.google.com");
    print $result;
    echo "<br/>Success!";
?>

最新更新