我只是在寻找解决此问题的最佳方法。
问题: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/