2012-05-31 2 views
1

Я хочу использовать facebook api, чтобы мой сайт мог войти в систему с помощью facebook. Он работал правильно, однако имеет сообщение об ошибке. Я проверил журнал ошибок, это показатьfacebook api server error 500 issue

[Чт Май 31 17:10:53 2012] [ошибка] [клиент 114.34.249.224] PHP Фатальная ошибка: Uncaught CurlException: 7: Не удалось подключиться к 2a03: 2880: 2110: 3f01: face: b00c: 0: 1: нет маршрута для размещения \ n брошен в /home/fb3/src/base_facebook.php в строке 886

Как исправить проблему?

спасибо.

Update:

моя таблица маршрутизации не включают в себя также inet6:

Интернет: назначения Шлюз Флаги Refs Использование Netif Expire

по умолчанию xxx.xxx.xxx.xxx UGS 57 1209297 bge0

127.0.0.1 ссылка # 2 UH-17 lo0

xxx.xxx.xxx.xxx/24 ссылка # 1 U 0 2406 7 bge0

xxx.xxx.xxx.xxx ссылка # 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: $ больше гс. conf

- sysinstall generated Deltas - # Вт Июл 13 18:02:58 2010 Создано: Вт Июл 13 18:02:58 2010 Включите сетевые демоны для удобства пользователей. Внесите все изменения в этот файл, а не файл /etc/defaults/rc.conf. Этот файл теперь содержит только переопределения из /etc/defaults/rc.conf.

раскладка = "us.iso"

defaultrouter = "xxx.xxx.xxx.xxx"

имя хоста = "domain.com"

ifconfig_bge0 = "инет xxx.xxx.xxx .xxx netmask 255.255.255.0"

переменная sshd_enable = "ДА"

apache22_enable = "ДА"

mysql_enable = "ДА"

sendmail_enable = "NONE"

proftpd_enable = "ДА"

named_enable = "ДА"

ответ

0

Похоже, вы пытаетесь адрес IPv6, чтобы перейти к Facebook, и что-то по пути неправильно настроено для IPv6.

В качестве быстрого ручного взлома найдите ссылки на graph.facebook.com в скрипте и быстро скопируйте его как адрес IPv4 (xxx.xxx.xxx.xxx) для graph.facebook.com. Если это работает, то измените сценарий назад и:

  1. Сделайте ваш сервер работать только IPv4 (самый простой, но не прогнозный)
  2. Проверьте, какое оборудование между вами и сервером не является IPv6 настроен, и получить он изменился (намного сложнее, чем он dsounds - возможно, где-то есть новые маршрутизаторы, youch, но если вы этого не сделаете, нет смысла иметь IPv6 на сервере!).
+0

Мой сервер работает только с IPV4, я уверен. Может быть, проблема интернет-провайдера? и я пытаюсь изменить base_facebook.php и изменить код на IPv4 IP, это работа. но все же не могут использовать функцию входа fb. Я запутался сейчас ... – user1275529

+0

Вы - сервер (был) работает IPv6 - это ясно из вашего сообщения об ошибке. Теперь у вас будет другая проблема, и нам понадобится новая информация, которая поможет вам справиться с этим. – Robbie

+0

спасибо, я обновил свой конфиг. – user1275529

0

Если вы используете Linux, у вас, вероятно, есть модуль ядра IPv6, и, поскольку он загружен, когда вы делаете запрос DNS, он сначала вернет вам адрес IPv4, а затем адрес IPv6. Если по какой-то причине вам не удается подключиться к IPv4, ваша система попробует следующий адрес, и поскольку это IPv6 и у вас нет подключения IPv6, вы получите вышеуказанную ошибку.

+0

Я бегу freebsd 8.0, но я не настроил никакой конфиг о v6. – user1275529