检查服务器状态的问题

时间:2013-04-15 04:29:01

标签: php

我有一个简单的脚本来检查服务器是在线还是离线,但是这个脚本似乎不能在我想要的服务器上运行。

这是剧本:

$value = mysql_result($result,$i,"servername");
$value2 = mysql_result($result,$i,"serveraddress");
$value3 = mysql_result($result,$i,"portnumber");
$value4 = mysql_result($result,$i,"description");
$id = mysql_result($result,$i,"id");

ob_start();

if (!$socket = @fsockopen($value2, $value3, $errno, $errstr, 1))
{
    echo "&nbsp;<font color='red'><CENTRE><strong>OFFLINE</strong></CENTRE></font>";
}
else 
{
    echo "&nbsp;<font color='green'><CENTRE><strong>ONLINE</strong></CENTRE></font>";  

    fclose($socket);
}
$status = ob_get_contents();
ob_end_clean();
?>

问题是,如果我说使用谷歌地址和端口80它将显示谷歌的在线,如果我使用外部IP地址和7000左右的端口,它将无法显示服务器是否在线,尽管它是线上。我不知道为什么会这样,我在考虑它可能是因为在显示它关闭的时候没有数据通过端口发送。

有人可以对此有所了解并且可能会纠正这种情况。

0 个答案:

没有答案