500 jest ogólnie "wewnętrznym błędem serwera".
Jeśli otrzymasz 500 z powrotem z apka na Facebooku, to może być coś nie tak na końcu.
Ponownie, twoje żądania HTTP mogą być nieco wyłączone, a serwer fb "um, what?" i wysyła ci 500, ponieważ nie może wyjaśnić problemu.
Pamiętam, że wiele lat temu fb api zwróciło głównie kody "nieznanego błędu", gdy coś poszło nie tak - od tego czasu nie dotykałem tego interfejsu. Mam nadzieję, że nie napotkasz na ten sam problem.
Aby naprawdę rozwiązać problem, trzeba będzie albo:
A) przechwytywać żądania HTTP i odpowiedzi, w tym nagłówki, porównać go do pomyślnego wywołania API i dokonać zmian w razie potrzeby. B) przechwycić wszelkie wyjątki wyrzucone przez SDK Facebooka.
Opcja A będzie zawsze działać, ale opcja B jest prawdopodobnie szybsza.
Check out: php exceptions
EDIT: aby zobaczyć, co powoduje błąd 500 na serwerze Apache spojrzeć w logi błędów.
można również użyć
error_reporting(E_ALL);
aby wykluczyć ewentualne błędy PHP.
sprawdź swój dziennik błędów serwera. (jeśli masz appache ma dziennik błędów) –