2012-01-16 17 views
5

estoy tratando de hacer lo siguiente utilizando el SDK oficial de PHP de FB:¿Cómo rastrear la causa de un error interno del servidor 500?

$facebook->api(
'/me/feed', 
'POST', 
array(
    'link' => 'test', 
    'message' => 'test' 
) 

)

Por desgracia, el servidor (no facebook) devuelve un error 500.

La solicitud se procesa, el estado se publica, pero mi servidor devuelve un error.

Mi pregunta es, ¿cómo averiguo cuál es la causa?

+0

revise el registro de errores del servidor. (si tiene Apache, tiene un registro de errores) –

Respuesta

5

500 es generalmente "error interno del servidor".

Si obtiene 500 de regreso de su llamada API de Facebook, entonces podría ser algo malo en su extremo.

Por otra parte, sus solicitudes de HTTP pueden estar un poco fuera, y el servidor de fb va "um, ¿qué?" y le envía 500 porque no puede explicar el problema.

Recuerdo que hace varios años la aplicación de fb api principalmente códigos de "error desconocido" cuando algo salió mal - no han tocado esa API desde entonces. Con suerte no te encontrarás con el mismo problema.

Para resolver realmente el problema, tendrá que o bien:

A) capturar su solicitud y la respuesta HTTP, incluyendo las cabeceras, lo comparan con una llamada a la API éxito, y hacer cambios si es necesario. B) capture cualquier excepción lanzada por el SDK de Facebook.

La opción A siempre funcionará, pero la opción B es quizás más rápida.

Salida: php exceptions

EDIT: a ver lo que está causando un error 500 en su servidor, busque en su registros de errores de apache.

también se puede utilizar

error_reporting(E_ALL); 

para descartar cualquier error de php.

+0

Probablemente no me explique correctamente: el servidor devuelve un 500 código, no Facebook Asumiría que si fuera Facebook, entonces la solicitud simplemente fallaría y mi servidor no devolvería un error de 500. El estado se publica, no parece que haya un problema al final de FB. – Lior

+0

en ese caso, los registros de errores de apache deberían indicarle cuál es el problema. – okayGraphics

0

En mi caso me moví la aplicación de un servidor a otro, y el rizo que faltaba era el error :)

En ssh modo de administración que podría ver la siguiente línea>

PHP Fatal error: Excepción no detectada ' Excepción 'con mensaje' Facebook necesita la extensión CURL PHP '. en /srv/www/smixe.com/base_facebook.php:19

Cuestiones relacionadas