【问题标题】:Server1 display when Server2 is offlineServer2离线时显示Server1
【发布时间】:2014-07-31 18:20:42
【问题描述】:

我只是在寻找解决此问题的最佳方法。

问题: Server2 离线时会显示 Server1

我做了什么,但我对下面的结果不满意。

PHP:

function ping ($host, $timeout = 1) {
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$host);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    $result = curl_exec($ch);
    curl_close($ch);

    return $result;
}


$ping = ping('server2.domain.com');
if($ping==false){
  $warningText = "Server2 is not available.";
  echo "<li class='navbar-text hidden-xs'><span style='color:#d9534f;' id='warning' class='glyphicon glyphicon-warning-sign' data-toggle='tooltip' title='" . $warningText . "' data-placement='bottom'></span></li>";
}

如果服务器完全没有响应(因为它处于脱机状态),则结果是网站在处理此 ping 请求时会挂起相当长的时间。

我应该加载页面并执行 ajax onload,还是有其他方法可以更好地解决这个问题?

我拥有两台服务器,它们在一个子域中彼此外部(domain.com 检查 server2.domain.com)。

【问题讨论】:

    标签: javascript php ajax web-services ping


    【解决方案1】:

    您可以向 php 脚本发出 AJAX 请求来检查它,也可以使用 cronjob 来检查服务器所有 10 分钟(例如)(您不能直接使用 cronjob 进行检查,您必须使用(php) 脚本)并将结果保存在文件中。在您的脚本中,您只是加载文件并阅读其中写入的内容,然后显示服务器在线或服务器不在线。

    【讨论】:

    • 哦,cronjob 听起来像是我想要的结果。我什至没有想到。
    猜你喜欢
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 2019-10-23
    • 1970-01-01
    相关资源
    最近更新 更多