PHP - 检查服务器是否离线并且不在 XAMPP 中显示警告

标签 php xampp fsockopen

我目前正在使用此 php 代码检查服务器(在本例中为 192.168.1.135)是否在线:

<?php 
$fp = fsockopen("192.168.1.135", 443, $errno, $errstr, 0.4); //(line 47)
if (!$fp) {
  echo "OFFLINE";
}
else{
 echo "ONLINE";
}
?>

我在自己的服务器 192.168.1.130 上使用 XAMPP(当然在 LAN 上)有这段代码

因此,如果此服务器离线,输出将是:

Warning: fsockopen(): in C:\xampp\htdocs\index.php on line 47
OFFLINE

它应该只是“离线”。如何在没有警告的情况下只显示离线?

我认为 XAMPP 会在服务器关闭时向我发送警告。但是我应该怎么做才能不显示警告呢?我在 XAMPP 中找不到此设置,有人知道吗?

如果不是,即使服务器关闭(离线),我应该如何纠正第 47 行?

当服务器在线时,这将完美地工作。

最佳答案

使用 silence operator @ 抑制警告:

$fp = @fsockopen("192.168.1.135", 443, $errno, $errstr, 0.4); //(line 47)

旁注:如您所见,@ 运算符按您的要求抑制了警告。不过要小心。诸如“没有到主机的路由”之类的消息也将被抑制。 (主要是如果您的 网络连接不可用)所以您不能确定服务器是否离线。如果 fsockopen() 看不到原因,你应该额外输出 $errmsg

关于PHP - 检查服务器是否离线并且不在 XAMPP 中显示警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15733262/

相关文章:

php - 文本框输入,从数据库检索值,无需在php中提交按钮

php - 如何使用 PHP 和 MySQLI 按相关性对结果进行排序?

linux - 安装后 XAMPP for linux 中的 'htdocs' 文件夹属于 "nobody",为什么?

sql - SQL不接受我的评论

php - 未启用 PHP 中的套接字传输 "ssl"

php - 如何从url检查文件是否存在

php - 为什么在PHP中发送POST请求时fsockopen有性能问题而不是fopen?

php - Facebook 上传照片没有新闻提要帖子?可能的?

java - 使用 localhost android 获取套接字连接超时

php - fatal error : Cannot redeclare imagecreatefrombmp()