0

我尝试使用 Php SDK 将图像上传到组,但它一直返回此错误“服务器上的 IPv6 配置无效,请在您的服务器上禁用或获取本机 IPv6”。

        $access_token = $facebook->getAccessToken();

        $output = "";
        $facebook->setFileUploadSupport(true);
        $group_id = "390114434403182";
        //Upload a photo
        $photo_details = array(
            'message' => 'Screen Shot'
        );
        //Absolute url
        $file='https://aplikoj.com/fbapps/turbopost2/images/ID-10059064.jpg';
        $photo_details['image'] = '@' . realpath($file);
        //Do the upload and get the responses
        $upload_photo = $facebook->api('/'.$group_id.'/photos', 'post', $photo_details);
4

1 回答 1

0

检查源代码Network is unreachable,我们看到当 curl在尝试与 Facebook 建立 IPv6 连接时返回错误时会发生此错误。

这有两个一般原因:

  1. 您的服务器已经配置了全局 IPv6 地址,但实际上没有功能性 IPv6 连接。

    这是最常见的情况,因此错误消息是这样写的。您还可以看到,代码重试了强制 IPv4 的连接,因此您应该只会在错误日志中看到这一点,但仍会从 Facebook 获得有效结果。

    这可能是由于您的服务器上的 6to4、Teredo 或 ISATAP 配置不正确(所有这些都应该被禁用)或当 IPv6 路由不可用时路由器广告 IPv6 地址配置错误。您应该能够轻松检查服务器的配置,或联系其管理员进行检查。

    如果您实际上没有从 Facebook 获得结果,那么您继续...

  2. 您的传出 IPv4 连接已损坏或有防火墙。

    这通常很少见,但如果您在大型企业环境中工作,则可能会出现这种情况;一些这样的地方喜欢不分青红皂白地屏蔽 Facebook 和其他这样的网站。您可能会看到虚假的 IPv6 错误,并且在通过 IPv4 重试后仍然会得到一个FacebookApiException类型。CurlException如果是这种情况,您需要联系网络管理员以取消限制。

于 2013-10-29T01:46:07.833 回答