file_get_contents挂起

GRY*_*GRY 6 php google-maps

我正在使用Google GeoCoding服务.我有一个调用Google Maps API的PHP应用程序,并接收JSON数据.调用谷歌地图主机的功能会一直挂起,直到它超时,但只有当我推送到Godaddy虚拟专用服务器时.

我已经ssh进入服务器并编辑了php.ini我将"安全模式"更改为"关闭"

我收到此错误消息:

消息:file_get_contents(http://maps.googleapis.com/maps/api/geocode/json?address=xYxY&sensor=false):无法打开流:连接超时

这在我的WAMP服务器上工作正常但在实时服务器上失败.有什么想法吗?

GRY*_*GRY 8

我找到了答案.现在几周了?我希望别人找到这个解决方案.来自GoDaddy的虚拟专用服务器已启用ipv6,但google maps API却没有.所以告诉Curl强制v4请求,如下所示:

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
Run Code Online (Sandbox Code Playgroud)

信用部分归因于我发现此信息的博客:

http://www.businesscorner.co.uk/disable-ipv6-in-curl-and-php/

  • 精彩的。我发现了几个关于这个问题的错误报告,但你是第一个真正给出解决方案的人。 (2认同)