繁体   English   中英

Linux上的PHP Ping超时不起作用

[英]PHP Ping on Linux timeout not working

我正在使用一个函数来ping通一些内部IP和ajax请求。 如果ping成功,它可以正常工作,但是如果没有响应,则服务器似乎死机了,我必须关闭浏览器。 但是,如果我直接在命令行中输入相同的shell函数,则超时有效。 另外,使用-n在我的本地计算机(WAMP)上也可以正常工作。

功能

public function ping_node($u_ip) {

    exec("/bin/ping -c 2 -w 2 " . $u_ip, $output, $result);

    if ($result == 0){
        return array("ok",$output);
    }else{
        return "fail";
    }
}

}

我永远无法使它正常工作,而是使用了fsockopen。 它运作良好,速度更快。

function ping_node($ip){
  $socket = @fsockopen($ip, "102", $errorNo, $errorStr, 3);
    if(!$socket) return "fail";
  else return "ok";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM