Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中检查服务器IP状态是向上还是向下_Php_Server_Ip_Ping_Fsockopen - Fatal编程技术网

如何在PHP中检查服务器IP状态是向上还是向下

如何在PHP中检查服务器IP状态是向上还是向下,php,server,ip,ping,fsockopen,Php,Server,Ip,Ping,Fsockopen,我正在创建一个web应用程序,我将添加10-20个IP地址,并为每1小时设置一个cron作业,这很容易做到。问题是,我想检查IP当前是否正常工作。如果IP不工作,那么我将通过电子邮件或其他方式收到消息。我在互联网上找到了以下代码: $ip= '103.117.231.160'; $port = 80; $fp = @fsockopen($ip, $port, $errno, $errstr, 2); if (!$fp) { echo 'offline'; } else{ echo

我正在创建一个web应用程序,我将添加10-20个IP地址,并为每1小时设置一个cron作业,这很容易做到。问题是,我想检查IP当前是否正常工作。如果IP不工作,那么我将通过电子邮件或其他方式收到消息。我在互联网上找到了以下代码:

$ip= '103.117.231.160';
$port = 80;
$fp = @fsockopen($ip, $port, $errno, $errstr, 2);
if (!$fp) {
   echo 'offline';
} else{ 
    echo 'online';
 }
我已经添加了许多随机IP,但它给了我在线状态。上面的脚本可以吗?还是我需要更改脚本?如何测试IP是否正常工作?任何人都可以提供示例测试IP,这样我就可以确保脚本工作正常吗


我只需要通过电子邮件正确输出我的服务器已关闭。

似乎工作正常。谷歌在线报告了
,不出所料,问题中的ip表示
离线
@RamRaider现在我能做什么?每当我将ip地址保存在数据库中时,我也需要收集正确的端口?取决于你将如何使用ip。您当前正在测试端口80,如果这是您所需要的全部,那么您不需要收集端口,但是如果您想测试多个端口,那么您可能应该存储哪个端口正在使用该IP。端口80只检查http服务。当然,如果回答了,服务器是在线的。但它只检查该服务!用老平怎么样?