我有一个我为基于PHP的CMS分发的应用程序,它通过cURL连接到Google服务。最近(因为谷歌在6月份转向IPv6),我有一些报告显示连接时间极其缓慢(一例150秒),或完全没有连接(示例卷曲错误:无法连接到2001:4860:b007: :5F:网络无法访问)。
我发现,通过SO和其他资源,强制curl使用IPv4修复了这些问题:
if(defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4'))
{
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
}
我的猜测是这些请求的服务器配置错误(或许他们支持IPv6时却不支持?)。但我对IP查询的IPv6响应的复杂性一无所知。
通过强制IPv4,我在 正确配置的服务器上设置自己的错误?
我是否可以使用强大的方法来检查兼容性,并相应地设置我的cURL选项?