【问题标题】:Facebook API couldn't connect to host and timeout errorsFacebook API 无法连接到主机和超时错误
【发布时间】:2011-10-07 05:04:21
【问题描述】:

几天前,我在 Facebook 上发布了一款游戏的测试版。 不幸的是,我没那么幸运,在用户第一次使用它的应用程序最重要的日子里,他们不断收到由于我的 PHP Apache 服务器上的错误而导致的错误,该服务器从 Facebook API 收到以下错误 -

  1. 无法连接到主机

  2. 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
                )

        )

再次感谢!

【问题讨论】:

  • 请用更好的上下文和完整的错误消息进行澄清
  • 并且还从导致这些错误的 PHP 脚本中发布代码
  • 您好,感谢您的 cmets。我更新了我的帖子,我希望它已经足够了。
  • 有人吗?我真的被这个问题困住了......也许有人可以告诉我如何开始调试这个问题,看看它是否是我的服务器上的问题

标签: php facebook api timeout


【解决方案1】:

我的服务器目前也有这个问题(使用 PHP 访问 Facebook API)。根据错误消息的性质,显然问题出在我的服务器(在亚马逊云上运行,顺便说一句)和 Facebook 的服务器之间的连接。

然而,让我陷入困境的是某些命令运行正常。也就是说,尝试使用一个 Facebook 令牌登录工作正常,而另一个导致此错误消息。

我能想出的唯一合理的解释是 Facebook 服务器正在经历某种暂时的故障……但即使这样也不能很好地解释问题,因为它以某种方式与正在生成的令牌相关联用过的。唯一有意义的方法是,如果存在某种错误,即 Facebook 的服务器在处理我提供给他们的特定令牌时超时......

【讨论】:

    【解决方案2】:

    使用

    获取用户ID
    $fb = new Facebook(array(
    
        'appId'  => 'your_app_id',
        'secret' => 'your_app_secret',
    
    ));
    
    $user = $fb->getUser();// returns user id
    

    【讨论】:

      【解决方案3】:

      这在几天后以某种方式自行修复。可能是我的服务器或 Facebook 的服务器上的临时问题。

      【讨论】:

        猜你喜欢
        • 2014-12-15
        • 1970-01-01
        • 2012-02-03
        • 1970-01-01
        • 2012-08-07
        • 2011-03-29
        • 1970-01-01
        • 1970-01-01
        • 2017-07-03
        相关资源
        最近更新 更多