1

PHP(或其子系统)将请求延迟 10 秒以尝试获取 AAAA 查找,然后再回退到 IPv4 并成功。我有 15 个以上的请求,所以这个问题导致 150 秒以上的时间只是等待 IPv6 查找失败。除了本地链接,客户端和远程主机都没有 IPv6 设置。

file_get_contents( $ipv4_address); # works in less than a second
file_get_contents( $fqdn_address); # takes ten–eleven seconds

我看到的唯一可行的解​​决方法是在gethostbyname( $fqdn_address );将主机名发送到file_get_contents(). 我希望有一个更优雅的解决方案。

PS:这是在共享主机上,所以我对服务器配置和设置的控制很少。

4

1 回答 1

1

您可以尝试改用 curl,它可以强制使用 ipv4

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );

否则,它看起来像是要修复的服务器端设置或 php 重新编译,您显然无法在共享平台上执行此操作。

于 2013-02-20T00:22:07.010 回答