【问题标题】:Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server服务器上的 IPv6 配置无效,请在您的服务器上禁用或获取本机 IPv6
【发布时间】:2013-10-28 22:04:13
【问题描述】:

我尝试使用 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);

【问题讨论】:

    标签: php facebook-php-sdk ipv6


    【解决方案1】:

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

    这有两个一般原因:

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

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

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

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

    2. 您的传出 IPv4 连接中断或防火墙。

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

    【讨论】:

    • 感谢您的回复。真正的问题是未正确指向文件的 realpath($file)。您的帖子使我找到了解决方案。
    猜你喜欢
    • 2017-02-12
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 2012-02-02
    • 2016-11-03
    • 1970-01-01
    相关资源
    最近更新 更多