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

问题: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)。

最佳答案

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

关于javascript - Server2脱机时显示Server1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25066232/

10-10 15:22