Comment détecter la cause d'une erreur de serveur interne 500?
Je suis en train d'effectuer les opérations suivantes à l'aide de FB officielle de PHP SDK:
$facebook->api(
'/me/feed',
'POST',
array(
'link' => 'test',
'message' => 'test'
)
)
Malheureusement, le serveur (pas de facebook!) renvoie une erreur 500.
La demande passe par, le statut postée, mais mon serveur renvoie une erreur.
Ma question est, comment puis-je savoir quelle est la cause de cela?
vérifiez votre journal des erreurs du serveur.(si vous avez appache c'est d'avoir d'erreur dans le journal).
OriginalL'auteur Lior | 2012-01-16
Vous devez vous connecter pour publier un commentaire.
500 est généralement "erreur interne du serveur".
Si vous obtenez 500 à partir de votre facebook appel d'api, alors il pourrait être quelque chose de mal sur la fin.
Là encore, votre HTTP demandes peut-être un peu hors, et la fb server va "euh, quoi?" et vous envoie un 500, car il ne peut pas expliquer le problème.
Je me souviens d'un certain nombre d'années, l'api fb retourné pour la plupart "erreur inconnue" codes lorsque quelque chose va mal - n'ai pas touché l'api depuis. J'espère que vous n'êtes pas en cours d'exécution dans le même problème.
Pour vraiment résoudre le problème, vous devrez soit:
A) la capture de votre demande et la réponse HTTP, y compris les en-têtes, de le comparer à un succès de l'appel d'api, et apporter des modifications si nécessaire.
B) la capture de toutes les exceptions levées par le facebook SDK.
Une Option fonctionnera toujours, mais l'option B est peut-être plus rapide.
Découvrez:
php exceptions
EDIT:
pour voir ce qui provoque une erreur 500 sur VOTRE serveur, regardez dans votre apache journaux d'erreur.
vous pouvez également utiliser
pour éliminer d'éventuelles erreurs php.
dans ce cas, votre apache journaux d'erreur devrait vous dire quel est le problème.
OriginalL'auteur okayGraphics
Dans mon cas, j'ai déplacé l'application à partir d'un serveur à un autre et le manque de ROULAGE a été le bug 🙂
En mode administration ssh j'ai pu voir ligne suivante>
PHP Fatal error: Uncaught exception 'Exception' avec le message suivant: "Facebook a besoin de l'extension PHP CURL." dans /srv/www/smixe.com/base_facebook.php:19
OriginalL'auteur Stefan Michev