几天前,我在Facebook上发布了一款游戏的测试版。不幸的是,我没有那么幸运,在应用程序的第一个最重要的日子里,当用户第一次使用它时,他们不断得到错误,这是由于我的PHP Apache服务器上的错误,从Facebook API得到以下错误-
-
无法连接主机
-
connect()超时!
我的服务器运行在我从Joyent为facebook开发者提供的免费服务器上。我不是网络服务器方面的专家,所以我不知道问题是出在我这边还是Facebook那边。我怎样才能快速解决这个问题!
非常感谢!
编辑:由于某些原因,我忘记了代码示例和错误示例-
下面是一个针对facebook的简单查询示例-
$session = $facebook->getSession();
$currentID = $facebook->api('/me?fields=id');
下面是错误堆栈跟踪-
couldn't connect to host StackTrace: Array
(
[0] => Array
(
[file] => /users/home/aagnt2sv/web/public/Facebook/facebook-php-sdk-7d538d3/src/facebook.php
[line] => 523
[function] => makeRequest
[class] => Facebook
[type] => ->
[args] => Array
(
[0] => https://graph.facebook.com/me?fields=id
[1] => Array
(
[method] => GET
[access_token] => 104269778819|2.AQAKqpIXE0jqFuoU.3600.1311008400.1-785849095|qxtBqmWWRMc_GpM77CK77RbO4YA
)
)
)
[1] => Array
(
[file] => /users/home/aagnt2sv/web/public/Facebook/facebook-php-sdk-7d538d3/src/facebook.php
[line] => 491
[function] => _oauthRequest
[class] => Facebook
[type] => ->
[args] => Array
(
[0] => https://graph.facebook.com/me?fields=id
[1] => Array
(
[method] => GET
)
)
)
[2] => Array
(
[function] => _graph
[class] => Facebook
[type] => ->
[args] => Array
(
[0] => /me?fields=id
)
)
[3] => Array
(
[file] => /users/home/aagnt2sv/web/public/Facebook/facebook-php-sdk-7d538d3/src/facebook.php
[line] => 444
[function] => call_user_func_array
[args] => Array
(
[0] => Array
(
[0] => Facebook Object
(
[appId:protected] => *censored*
[apiSecret:protected] => *censored*
[session:protected] => Array
(
[uid] => *censored*
[access_token] => 104269778819|2.AQAKqpIXE0jqFuoU.3600.1311008400.1-785849095|qxtBqmWWRMc_GpM77CK77RbO4YA
[expires] => 1311008400
[sig] => ddf14dcaa953cb64d3f98b0649b60613
)
[signedRequest:protected] =>
[sessionLoaded:protected] => 1
[cookieSupport:protected] => 1
[baseDomain:protected] =>
)
[1] => _graph
)
[1] => Array
(
[0] => /me?fields=id
)
)
)
[4] => Array
(
[file] => /users/home/aagnt2sv/web/public/edamometer/EdamometerWS.php
[line] => 31
[function] => api
[class] => Facebook
[type] => ->
[args] => Array
(
[0] => /me?fields=id
)
)
再次感谢!
这个问题在几天后自行修复了。也许是我的服务器或者Facebook的服务器暂时出现了问题。
使用
获取用户id$fb = new Facebook(array(
'appId' => 'your_app_id',
'secret' => 'your_app_secret',
));
$user = $fb->getUser();// returns user id
我目前有这个问题与我的服务器(使用PHP访问Facebook API),以及。根据错误信息的性质,很明显问题出在我的服务器(运行在亚马逊云上,顺便说一句)和Facebook服务器之间的连接上。
让我大吃一惊的是,有些命令工作正常。也就是说,尝试使用一个Facebook令牌登录工作正常,而另一个则导致此错误消息。
我能想到的唯一合理的解释是Facebook服务器正在经历某种暂时的打嗝…但即使这样也不能很好地解释问题,因为它以某种方式与正在使用的令牌绑定在一起。唯一有意义的方法是,如果有某种错误,Facebook的服务器在处理我给他们的特定令牌时超时…