facebook api服务器错误500问题

时间:2012-05-31 09:29:08

标签: php facebook-graph-api

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

[Thu May 17 17:10:53 2012] [错误] [客户端114.34.249.224] PHP致命错误:未捕获CurlException:7:无法连接到2a03:2880:2110:3f01:face:b00c:0: 1:在886行的/home/fb3/src/base_facebook.php中没有主持人的路由\ n

我该如何解决问题?

感谢。

更新

我的路由表也没有包括inet6:

互联网: 目标网关标志参考使用Netif Expire

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

127.0.0.1 link#2 UH 0 17 lo0

xxx.xxx.xxx.xxx/24 link#1 U 0 24067 bge0

xxx.xxx.xxx.xxx link#1 UHS 0 192 lo0

Internet6:

目标网关标志Netif Expire

:: 1 :: 1 UH lo0

fe80 ::%lo0 / 64 link#2 U lo0

fe80 :: 1%lo0 link#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  创建时间:2010年7月13日星期二18:02:58  启用网络守护程序以方便用户。  请对此文件进行所有更改,而不是对/etc/defaults/rc.conf进行更改。  此文件现在只包含/etc/defaults/rc.conf中的覆盖。

键映射= “us.iso”

defaultrouter中= “xxx.xxx.xxx.xxx”

主机名= “domain.com”

ifconfig_bge0 =“inet xxx.xxx.xxx.xxx netmask 255.255.255.0”

的sshd_enable = “YES”

apache22_enable = “YES”

mysql_enable = “YES”

sendmail_enable默认= “NONE”

proftpd_enable = “YES”

named_enable = “YES”

2 个答案:

答案 0 :(得分:0)

看起来你正在尝试使用IPv6地址来访问Facebook,而且还没有为IPv6正确设置。

作为一个快速的手动黑客,在脚本中找到对graph.facebook.com的引用,并快速硬编码为graph.facebook.com的IPv4(xxx.xxx.xxx.xxx)地址。如果这样可行,则将脚本更改为:

  1. 让您的服务器仅运行IPv4(最简单,但不能向前看)
  2. 检查您和服务器之间的硬件是不是配置了IPv6,并将其更改(比它更难 - 可能意味着新的路由器在某处,但是如果你不这样做,那么就没有任何意义上的IPv6了服务器!)。

答案 1 :(得分:0)

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