Facebook CurlException:6:无法解析主机'graph.facebook.com'

时间:2012-03-13 21:55:36

标签: php facebook facebook-graph-api

当您尝试获取“$ facebook-> getUser()”或$ facebook-&gt时,任何人都知道此消息(“CurlException:6:无法解析主机'graph.facebook.com'”) ; API( '/我');我非常感谢你的帮助

5 个答案:

答案 0 :(得分:4)

在我的环境中遇到相同的情况 - 重启虚拟服务器/ ntpd服务无法解决问题

只有当我重新启动主机时,此错误才会消失

答案 1 :(得分:2)

您的服务器必须无法解析graph.facebook.com - 您的生产环境是防火墙后面还是配置错误的DNS?

答案 2 :(得分:2)

我在本地开发服务器上收到此错误,结果发现我需要重新启动操作系统。

就我而言,我正在使用桥接网络连接。如果在使用开发服务器时主机操作系统上的互联网连接完全被更改或禁用,则DNS会改变某些内容。

答案 3 :(得分:0)

您的主机很可能阻止传出连接。如果您可以ssh到服务器,请尝试ping graph.facebook.com,看看您是否可以从服务器访问该服务器。如果您没有对服务器的ssh访问权限,可以尝试使用php exec或system来运行ping命令。

也可能是因为您的主机不允许在php中打开网址或不允许使用SSL。

从facebook dev论坛查看此搜索以获取更多创意:Google

答案 4 :(得分:0)

我通过设置FacebookCurlHttpClient.php第104行修正了这个问题:

CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V6

您不必编辑PHP-SDK代码,只需在代码中执行此操作:

$fb = new Facebook\Facebook([...]);
$fb->getClient()->getHttpClientHandler()->facebookCurl->setopt(CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);

但是FacebookHttpClientInterface只公开了send方法(并且facebookCurl成员变量受到保护),所以这是不可能的。