我对MAMP和尝试连接外部源的所有功能都有一个非常烦人的问题。
我的应用程序中有一个非常简单的fsockopen。
$fp = fsockopen($this->port == 443 ? 'ssl://' . $this->host : $this->host, $this->port, $errno, $errstr, 20);
这是我们的合作伙伴提供的lib。一切都被罚款,直到最后一次MAMP或OSX更新我不确定。
该行产生以下错误:
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
我已经阅读了很多关于该错误的内容,如果该名称未得到解决,则会出现该错误。所以我做了一些其他检查,问题似乎是ipv6解决方案。该站点没有IPv6 DNS-Entry,但连接尝试使用IPv6,出现该错误并且连接已关闭。
如果我在命令行上尝试相同的操作:
ping6: getaddrinfo -- nodename nor servname provided, or not known
我得到了同样的错误。那么,如果没有Name可用,为什么PHP不会回到IPv4?
禁用IPv6并不起作用。将v4地址添加到我的hosts文件没有任何影响。
答案 0 :(得分:0)
好的,这个问题是由OSX测试版引起的。我做了一个新的OSX 12.3安装,它运行良好。