1

我想使用 facebook api 让我的网站使用 facebook 登录。它工作正常,但有错误消息。我检查错误日志,它的显示

[Thu May 31 17:10:53 2012] [error] [client 114.34.249.224] PHP Fatal error: Uncaught CurlException: 7: Failed to connect to 2a03:2880:2110:3f01:face:b00c:0:1: No路由到主机\n 在第 886 行的 /home/fb3/src/base_facebook.php 中抛出

我该如何解决这个问题?

谢谢。

更新:

我的路由表也不包括inet6:

Internet:目标网关标志 Refs 使用 Netif 过期

默认 xxx.xxx.xxx.xxx UGS 57 1209297 bge0

127.0.0.1 链接#2 UH 0 17 lo0

xxx.xxx.xxx.xxx/24 链接#1 U 0 24067 bge0

xxx.xxx.xxx.xxx 链接#1 UHS 0 192 lo0

互联网6:

目标网关标志 Netif 过期

::1 ::1 呃 lo0

fe80::%lo0/64 链接#2 U lo0

fe80::1%lo0 链接#2 UHS lo0

ff01:2::/32 fe80::1%lo0 U lo0

ff02::%lo0/32 fe80::1%lo0 U

和我的 inet4 设置:$ more rc.conf

-- sysinstall 生成的增量 -- # Tue Jul 13 18:02:58 2010 创建时间: Tue Jul 13 18:02:58 2010 启用网络守护程序以方便用户。请对此文件进行所有更改,而不是 /etc/defaults/rc.conf。该文件现在只包含来自 /etc/defaults/rc.conf 的覆盖。

keymap="us.iso"

defaultrouter="xxx.xxx.xxx.xxx"

主机名="domain.com"

ifconfig_bge0="inet xxx.xxx.xxx.xxx 网络掩码 255.255.255.0"

sshd_enable="是"

apache22_enable="是"

mysql_enable="是"

sendmail_enable="无"

proftpd_enable="是"

命名_启用=“是”

4

2 回答 2

0

如果您正在运行 Linux,您可能已经加载了 IPv6 内核模块,并且由于它已加载,当您发出 DNS 请求时,它将首先返回给您一个 IPv4 地址,然后是一个 IPv6 地址。如果由于某种原因您无法连接到 IPv4,那么您的系统将尝试下一个地址,并且由于它是 IPv6 并且您没有 IPv6 连接,您将收到上述错误。

于 2012-06-03T01:31:30.373 回答
0

看起来您正在尝试使用 IPv6 地址来连接 Facebook,但在此过程中未针对 IPv6 正确设置某些内容。

作为一种快速的手动破解,在脚本中找到对 graph.facebook.com 的引用,并快速将其硬编码为 graph.facebook.com 的 IPv4 (xxx.xxx.xxx.xxx) 地址。如果可行,则将脚本改回,然后:

  1. 使您的服务器仅运行 IPv4(最简单,但不具有前瞻性)
  2. 检查您和服务器之间的哪些硬件未配置 IPv6,并进行更改(比听起来要困难得多 - 可能意味着某处的新路由器,哎呀,但如果您不这样做,那么服务器上没有 IPv6! )。
于 2012-05-31T11:54:33.760 回答