【发布时间】:2014-02-26 18:21:50
【问题描述】:
cURL(通过 PHP)在我的本地机器上工作正常,但在生产服务器上,连接到某些主机时我没有得到任何响应,而其他主机工作正常。此外,我可以使用 wget 从主机上下载 curl 不能。
【问题讨论】:
cURL(通过 PHP)在我的本地机器上工作正常,但在生产服务器上,连接到某些主机时我没有得到任何响应,而其他主机工作正常。此外,我可以使用 wget 从主机上下载 curl 不能。
【问题讨论】:
问题似乎是 - 我的服务器在 IPv6 上,它 cURL 正在尝试通过 IPv6 与不支持它的主机建立连接。 PHP的解决方案是:
CURLOPT_IPRESOLVE = CURL_IPRESOLVE_V4
命令行:
curl -4 http://host-that-does-not-have-an-ipv6-address
另外,如果您在 PHP 中使用 SOCKS 代理,以下可能会有所帮助:
CURLOPT_PROXYTYPE = 7
【讨论】: