Php Ping工具优化

时间:2016-09-14 10:35:36

标签: php html

我已经选择了一个PHP ping工具,并且在其他成员的帮助下,我已经设法让它显示我需要的所有内容。我遇到的问题是这需要ping 115个不同的IP地址,有时会得到"致命错误最长执行时间为30秒"

我复制了下面的代码并且只添加了1个主机和1个服务以节省空间,但通常有115个主机和115个服务。

$host1[1] = "8.8.8.8";//These addresses are generic for security reasons.
$host1[2] = "8.8.8.8";
$host1[3] = "8.8.8.8";

$services1[1] = "site 1";//These site names are generic for security reasons.
$services1[2] = "site 2";
$services1[3] = "site 3";

    $counter = "";
        $has_down = false;   // flag, no sites are down yet
        foreach ($host1 as $value1) 
        {
          $counter = $counter + 1;
          echo "<tr>"; 
          echo '<body bgcolor="#FFFFFF" text="#000000"></body>';       
          //check target IP or domain
          $pingreply = exec("ping -n $count $value1");
          if ( substr($pingreply, -2) == 'ms')
            {

            }
          else 
            {
                echo "<p><font size='6'><center><strong><div class='alert alert-danger'>" . $services1[$counter] . " - No Reply</div></strong></center></font></p>";
                // site down, set flag
                $has_down = true;
            }
        }

        // flag still false, all sites work
        if (!$has_down) {
            echo "<p><font size='6'><center><strong><div class='alert alert-success'>All sites responding to pings</div></strong></center></font></p>";
        }

如果有$ host1和$ services1,我有115个,但我在这里只放了3个代码,所以它不会占用大量的空间。

我有什么方法可以改进这个,因为它需要很长时间来加载页面,如果需要很长时间,它有时会出现致命错误。

另外我认为每个$ host只发送1个ping但是我想知道我是否可以将此4个ping数据包发送到站点,如果它得到平均ping响应,那么该站点就会启动,因为我们在ADSL线路上有一些站点,它们在ping时经常丢弃数据包,因此当站点刷新时它表示它们已经关闭,但它们只丢掉了1个ping。

我们可以对此进行优化并增加ping到站点的数量吗?

感谢您提前帮助。

0 个答案:

没有答案