1

我必须在 Windows 上使用 PHP 尽快进行大量跟踪路由。这是我的代码:

function tracert($addresses){
    set_time_limit(300);
    $nbAddresses=count($addresses);
    for($i=0; $i<$nbAddresses; $i++){
        $tracerts[$i]=popen('tracert '.$addresses[$i], 'r');
    }
    for($i=0; $i<$nbAddresses; $i++){
        $results[$i]="<strong>".($i+1).")</strong>";
        while(!feof($tracerts[$i])){
            $results[$i].=fgets($tracerts[$i])."<br/>";
        }
        fclose($tracerts[$i]);
    }
    return $results;
}

我循环了两次:在第一个循环中,我使用 popen() 启动 traceroutes,在第二个循环中,我使用 fgets() 将结果返回到表中。

但有时,它不起作用:traceroute 返回为空。所以基本上我的程序只显示跟踪路由的编号并转到下一个。它大约每四到五个跟踪路由发生一次。

我怎样才能让它每次都工作?

4

0 回答 0