PHP函数fsockopen从不返回false

PHP函数fsockopen从不返回false,php,fsockopen,Php,Fsockopen,有人能帮我使用php函数fsockopen吗 如果我这样调用函数: $fp = fsockopen('xywqnda.com', 80, $errno, $errstr, 10); 对于不可用的主机域,它永远不会返回false,我不明白为什么 试试这个 ini_set("display_errors","on") 如果域无效,它将显示一条警告,但函数将返回TRUE,因为返回了文件指针,这意味着文件创建成功,只有在无法创建文件时才会返回FALSE // displays all warning

有人能帮我使用php函数fsockopen吗

如果我这样调用函数:

$fp = fsockopen('xywqnda.com', 80, $errno, $errstr, 10);
对于不可用的主机域,它永远不会返回false,我不明白为什么

试试这个

ini_set("display_errors","on")
如果域无效,它将显示一条警告,但函数将返回TRUE,因为返回了文件指针,这意味着文件创建成功,只有在无法创建文件时才会返回FALSE

// displays all warnings, notices and errors
ini_set('display_errors', 1); 
error_reporting(E_ALL);

$fp = fsockopen('xywqnda.com', 80, $errno, $errstr, 10);
连接尝试将在10秒后超时。
您将收到警告,因为域不可用。
$errno和$errstr将包含系统错误号和错误消息。
函数将返回false,因此$fp将等于false


文档:

啊,您正在使用UDP。您最初的示例没有显示这一点。这改变了一切。从PHP手册:

警告

UDP套接字有时看起来打开时没有错误,即使无法访问远程主机。错误只会 在套接字中读写数据时变得明显。这个 这是因为UDP是一种“无连接”协议,它 意味着操作系统不会尝试为建立链接 套接字,直到它实际需要发送或接收数据


奇怪的是,当我运行该代码时,我得到的
$fp
等于
bool(false)
。这是我的代码:请更新您原来的问题,这更易读。我已经尝试过类似的方法,这是错误报告(E\u error),两者都不起作用……无论如何,感谢您的回答。这是我的代码: