5

Próbuję nauczyć się integracji facebook za pomocą samouczka PacketCode dostępne na YouTube. Kod działa poprawnie na moim localhost (nawet jeśli testowane przez zalogowanie się na facebooku). Ale gdy próbowałem uruchomić kod na Hostinger.in wolnego przyjmującego, pokazuje następujący błąd:Facebook integracja login uncaught wyjątek "nie można połączyć się z hostem"

Fatal error: Uncaught exception 'Facebook\FacebookSDKException' with message 'couldn't connect to host' in /home/u315632576/public_html/fblogin-basic-master/lib/Facebook/HttpClients/FacebookCurlHttpClient.php:142 Stack trace: #0 /home/u315632576/public_html/fblogin-basic-master/lib/Facebook/FacebookRequest.php(248): Facebook\HttpClients\FacebookCurlHttpClient->send(' https://graph.f ...', 'GET', Array) #1 /home/u315632576/public_html/fblogin-basic-master/lib/Facebook/FacebookRedirectLoginHelper.php(146): Facebook\FacebookRequest->execute() #2 /home/u315632576/public_html/fblogin-basic-master/index.php(54): Facebook\FacebookRedirectLoginHelper->getSessionFromRedirect() #3 {main} thrown in /home/u315632576/public_html/fblogin-basic-master/lib/Facebook/HttpClients/FacebookCurlHttpClient.php on line 142

Po tym próbowałem działa ten kod żądając płatną właściciela hosta na jego płatnego hostingiem kod nadal działa dobrze na tym. Więc jaki może być problem z darmowym hostem Hostinger.in?

Kod, który jest:

/* INCLUSION OF LIBRARY FILEs*/ 
    require_once('lib/Facebook/FacebookSession.php'); 
    require_once('lib/Facebook/FacebookRequest.php'); 
    require_once('lib/Facebook/FacebookResponse.php'); 
    require_once('lib/Facebook/FacebookSDKException.php'); 
    require_once('lib/Facebook/FacebookRequestException.php'); 
    require_once('lib/Facebook/FacebookRedirectLoginHelper.php'); 
    require_once('lib/Facebook/FacebookAuthorizationException.php'); 
    require_once('lib/Facebook/GraphObject.php'); 
    require_once('lib/Facebook/GraphUser.php'); 
    require_once('lib/Facebook/GraphSessionInfo.php'); 
    require_once('lib/Facebook/Entities/AccessToken.php'); 
    require_once('lib/Facebook/HttpClients/FacebookCurl.php'); 
    require_once('lib/Facebook/HttpClients/FacebookHttpable.php'); 
    require_once('lib/Facebook/HttpClients/FacebookCurlHttpClient.php'); 

/* USE NAMESPACES */ 

    use Facebook\FacebookSession; 
    use Facebook\FacebookRedirectLoginHelper; 
    use Facebook\FacebookRequest; 
    use Facebook\FacebookResponse; 
    use Facebook\FacebookSDKException; 
    use Facebook\FacebookRequestException; 
    use Facebook\FacebookAuthorizationException; 
    use Facebook\GraphObject; 
    use Facebook\GraphUser; 
    use Facebook\GraphSessionInfo; 
    use Facebook\FacebookHttpable; 
    use Facebook\FacebookCurlHttpClient; 
    use Facebook\FacebookCurl; 

/*PROCESS*/ 

    //1.Stat Session 
    session_start(); 
    //2.Use app id,secret and redirect url 
    $app_id = 'xyz'; 
    $app_secret = 'abcd'; 
    $redirect_url='http://www.rohansanap.com/fblogin-basic-master/'; 

    //3.Initialize application, create helper object and get fb sess 
    FacebookSession::setDefaultApplication($app_id,$app_secret); 
    $helper = new FacebookRedirectLoginHelper($redirect_url); 
    $sess = $helper->getSessionFromRedirect(); 

    //4. if fb sess exists echo name 
     if(isset($sess)){ 
      //create request object,execute and capture response 
     $request = new FacebookRequest($sess, 'GET', '/me'); 
     // from response get graph object 
     $response = $request->execute(); 
     $graph = $response->getGraphObject(GraphUser::className()); 
     // use graph object methods to get user details 
     $name= $graph->getName(); 
     echo "hi $name"; 
    }else{ 
     //else echo login 
     echo '<a href='.$helper->getLoginUrl().'>Login with facebook</a>'; 
    } 

Edit 1: Wspomniałem powyżej tego samego kodu działa prawidłowo na localhost. Właśnie zdałem sobie sprawę, że działa dobrze po uruchomieniu po raz pierwszy i jeśli odświeżam stronę po tym, ten sam błąd jest wyświetlany!

+0

Dlaczego nie wypróbujesz przykładowych aplikacji dostarczonych przez Facebooka i nie wiesz, jak to działa? Czego dokładnie szukasz ? Istnieje kilka przykładów tutoriali tutaj - https://developers.facebook.com/docs/reference/php/4.0.0. – deesarus

Odpowiedz

1

Twój serwer prawdopodobnie blokuje wysyłane żądania CURL, skontaktuj się z dostawcą i zapytaj go, czy mógłby otworzyć dostęp do serwera interfejsu API Facebooka (graph.facebook.com). see this.

Powiązane problemy