facebook connect- $ user_id = $ facebook-> getUser (); Immer 0 zurückgeben [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Warum gibt Facebook PHP SDK getUser immer 0 zurück? 26 answers

Bevor ich etwas sage, möchte ich sagen, dass ich viel googleed habe und viele Seiten gefunden wurden (einschließlich vieler Fragen) mit verschiedenen Lösungen ... aber ich habe jede einzeln ausprobiert, aber leider keine arbeitete für mich

mit facebook-php-sdk versuche ich, einen Benutzer anzumelden.in den ersten paar Fällen funktionierte es einwandfrei (vor 2 bis 3 Tagen.). Heute, als ich wieder anfing, mit meinem Projekt zu arbeiten, funktioniert es nicht mehr .wenn ich versuche, einen Benutzer anzumelden$facebook->getUser() is returning 0 .Aber vor 3 Tagen hat es funktioniert.

Ich habe den hier angegebenen Code verwendet: developers.facebook.com und ja, ich habe einige Änderungen vorgenommen, die mit dem vollständigen Code unten angegeben sind.

MY CODE ::0auth_provided_by_facebook.php

include_once $_SERVER['DOCUMENT_ROOT'].'dist/facebook-php-sdk/src/facebook.php';

$config = array(
   'appId' => '***********',
   'secret' => '*********',
   'allowSignedRequest' => false, // optional but should be set to false for non-canvas apps
'cookie'    => true,
'oauth'     => true
 );

 $facebook = new Facebook($config);
 $user_id = $facebook->getUser();
 if($user_id) {
   try {

      $user_profile = $facebook->api('/me','GET');

  } catch(FacebookApiException $e) {
    $login_url = $facebook->getLoginUrl(array(
   scope'=>'email,user_location,user_photos,publish_actions,publish_stream,basic_info', 
    'redirect_uri'  => 'http://localhost/dist/include/0auth_provided_by_facebook.php'
    ));
    echo '<a href="' . $login_url .'"> PLEASE CLICK HERE </a>';
    error_log($e->getType());
    error_log($e->getMessage());
  }   
} else {

  $login_url = $facebook->getLoginUrl(array(
    'scope'     => 'email,user_location,user_photos,publish_actions,publish_stream,basic_info', 
    'redirect_uri'  => 'http://localhost/dist/include/0auth_provided_by_facebook.php'
    ));
  echo '<a href="' . $login_url .'"> PLEASE CLICK HERE </a>';

}

OUTPUT: getUser () gibt immer 0 zurück.

wie mein Login-Prozess funktioniert, wird unten beschrieben:

nach Klick auf<a href="login_fb">Login using fb </a> control geht an meinlocalhost/dist/index.php jetzt meine index.phpinclude der obige geschriebene Code, der sich in einem anderen Verzeichnis befindetlocalhost/dist/include/0auth_provided_by_facebook.php aus dieser Datei kümmere ich mich um alles. Bei erfolgreicher und fehlgeschlagener Anmeldung liefert facebook hier den Wert. Bei erfolgreicher Anmeldung wird der Benutzer erneut zu home @ umgeleite

Nun hier ist die vollständige Liste meiner App-Einstellungen, die ich aktiviert oder deaktiviert oder geändert habe

 1. App Domains : blank(according to the answer)
 2. Site URL : `http://localhost/dist/include/0auth_provided_by_facebook.php?` 
 3. Native or desktop app? Disabled
 4. Deauthorize Callback URL : `http://localhost/dist/include/0auth_provided_by_facebook.php?`
 5. Social Discovery : enabled
 6. Client OAuth Login : enabled
 7. Embedded browser OAuth Login :enabled
 8. App Secret Proof for Server API calls :enabled
 9. Require 2-factor reauthorization : disabled
10. Valid OAuth redirect URIs :`http://localhost/dist/include/0auth_provided_by_facebook.php?` (according to the suggesion given in the answer)
11. Stream post URL security : enabled

as waren die Details.$user_id = $facebook-> getUser(); kehrt immer zurück0 in allen zuständen. wie kann ich das lösen?

für weitere Informationen .. obwohl ich nicht weiß, dass es Ihnen nicht helfen wird ... Ich war durch meine base_facebook.php und ich fand, dass es wegen @ Null zurückgiif(signed_request)ist immer falsch.