在没有端口的情况下在php中ping服务器?

时间:2013-03-05 19:14:58

标签: php ping

我一直在修改我一直在篡改的脚本。

我正在尝试为我的游戏服务器制作一个在线检查器,所以我可以指示我的服务器是在线还是从我的网站上。这是我的代码:

<?php
if (!$socket = @fsockopen(IP, Port, $errno, $errstr, 2))
{
  echo "<center><img style='float:left;' src='images/offline_icon.png'><font style='float:left;' size='5' color='red'><strong>Offline!</strong></font></center>";
}
else 
{
  echo "<center><img style='float:left;' src='images/online_icon.png'><font style='float:left;' size='5' color='green'><strong>Online!</strong></font></center>";
  fclose($socket);
}
?>

我的问题是,它失败了。如果我将超时设置为30,它将等待30秒,然后将其标记为脱机并继续。

如果我在终端中ping IP,它可以正常工作。

在搜索了关于ping和端口之后,似乎可能是问题。

有没有办法在没有端口的情况下对IP执行普通ping操作?喜欢linux命令行吗?

1 个答案:

答案 0 :(得分:3)

ICMP不使用端口。

您可能希望使用exec()来ping服务器。查看:Pinging an IP address using PHP and echoing the result