2012-01-16 19 views
5

Aşağıdaki kullanarak FB resmi PHP SDK yapmaya çalışıyorum:500 iç sunucu hatası neden izlenir?

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

)

Maalesef sunucu (facebook verilmez) 500 hatası döndürür.

İstek devam ediyor, durum gönderiliyor, ancak sunucum bir hata veriyor.

Sorum şu: Bunun nedenini nasıl öğrenebilirim? Genelde "iç sunucu hatası" olmak üzere

+0

Sunucunuzun hata günlüğünü kontrol edin. (eğer appache'iniz varsa, hata günlüğünüz var) –

cevap

5

.

Facebook api aramanızdan 500 geri alırsanız, sonuçta yanlış bir şey olabilir.

Ardından, HTTP isteğiniz biraz kapalı olabilir ve fb sunucusu "um, ne?" ve size 500'ü gönderir çünkü problemi açıklayamaz.

Birkaç yıl önce fb api'nin bir şeyler yanlış gittiğinde çoğunlukla "bilinmeyen hata" kodlarını döndürdüğünü hatırlıyorum - o zamandan bu yana api'ye dokunmadım. Umarım aynı problemle karşılaşmazsın.

A), başlıklar da dahil olmak üzere HTTP isteği ve yanıtını yakalamak başarılı API çağrısı ile karşılaştırın ve gerekirse değişiklik yapma:

gerçekten sorunu çözmek için, ya da olması gerekir. B) facebook SDK tarafından atılan istisnaları yakalayın.

Seçenek A her zaman çalışır, ancak B seçeneği daha hızlı olabilir.

atın: php exceptions

DÜZENLEME: , SİZİN sunucu üzerinde 500 hatası neyin neden olduğunu görmek için apache hata günlüklerine bakmak için.

ayrıca

error_reporting(E_ALL); 

herhangi php hatalarını ekarte etmek kullanabilirsiniz. Benim durumumda

+0

Muhtemelen düzgün bir şekilde kendimi açıklamadım: Sunucu 500 döndürür kod, facebook değil. Eğer facebook olsaydı, isteğin başarısız olacağını ve sunucumun 500 hata vermeyeceğini varsayardım. Durum kaydedildi, FB'nin sonuyla ilgili bir sorun yok gibi gözüküyor. – Lior

+0

Bu durumda, apache hata günlükleriniz sorunun ne olduğunu söylemelidir. – okayGraphics

0

i başka bir sunucudan uygulamayı taşındı ve eksik CURL böcek :) oldu ben şu satırı>

PHP ölümcül hatayı görebiliyordu yönetim modu ssh olarak

: Özel durum yakalanmamış ' İstisna 'mesajla' Facebook'un CURL PHP uzantısına ihtiyacı var. ' /srv/www/smixe.com/base_facebook.php:19

İlgili konular