【发布时间】:2015-07-01 02:47:53
【问题描述】:
我正在尝试 ping ip 地址以测试该 ip 地址是否可用。但是我在使用 fsockopen 函数时遇到了麻烦。我对使用 'ping','exec' 函数进行了一些研究,但它们似乎都不是真正可行的。
这是我测试 IP 地址的代码:
<?php
$ipAddress = array("192.168.1.1","192.168.1.67");
$kiosk = array("Kuantan (35)","UTC Kuantan (36)");
$checkCount = 0;
foreach(array_combine($ipAddress,$kiosk) as $items => $kiosk){
$fp = @fSockOpen($items,80,$errno,$errstr,1);
if(is_resource($fp)){
if($fp) {
$status=0;
fclose($fp);
echo 'Success<br/>';
}
}
else{
echo 'Failed<br/>';
}
}
?>
我可以从 cmd 提示符 ping 的两个 IP 地址。但是对于 192.168.1.67,它导致我“失败”,只有 192.168.1.1。或 127.0.0.1 向我显示“成功”。有什么我做错了吗?
【问题讨论】:
-
@Catalyst 是的,我从那里找到了解决方案并尝试为自己做,但现在我遇到了代码问题。当我尝试 ping 时,就像我的代码中显示的一些响应 IP 地址失败一样。我的代码有什么问题吗?对不起我的英语不好
-
必须在我的 linux 节点上重新安装 PHP,我会尝试并告诉你会发生什么。
-
@Catalyst 好的,谢谢。我目前有 192.168.1.67 可以在我 ping 时响应,但我的代码回显“失败”。我不知道为什么
-
当我尝试使用 google 服务器(我从命令行 ping google 并且此服务器响应)74.125.224.7 你的脚本没有任何更改返回成功。