fsockopen()在localhost和www server上返回不同的值

时间:2014-12-09 08:54:05

标签: php

$ping=fsockopen($ip, 80, $errno, $errstr, 30);

我正在使用上面的代码ping一些设备。

使用命令行或在我的localhost上运行代码时,设备无法应答;这是预期的,因为设备无法发送任何包。

但是,当我在www服务器上运行代码时,fsockopen()返回TRUE。

你有什么想法为什么会这样?或者我如何检查设备是否发送了一些数据包作为响应。我知道fsockopen()只检查连接。

1 个答案:

答案 0 :(得分:0)

根据documentationfsockopen()会打开一个连接,并在成功时返回resource(而不是TRUE)。

有许多原因导致它无法在您的本地计算机上运行。我可以考虑一下,但是你可以通过在失败的调用返回后检查$errno$errstr变量的值来找到确切的原因。