Intereting Posts
Как сборка мусора работает в PHP? А именно, как очищаются локальные функциональные переменные? Элегантное решение для разрывов строк (PHP) Новый способ предотвращения атак XSS Как совместить несколько слов в регулярном выражении Отображение данных php echo $ row в модальной форме загрузки $ _COOKIE , похоже, не отражает изменений после установки Обнаружение переломов в руке с использованием обработки изображений Отправлять выделение из выпадающего меню Bootstrap до $ _POST Какой PHP-код-код должен использовать для повышения производительности? Как переписать URL-адрес с заголовком заголовка сообщения? Какой файл PHP Ini использует моя веб-страница WAMP? CSS не работает с скриптом PHP Подавление вывода вызовов exec () в PHP Функция заполняет первый список, но не второй из таблицы базы данных Являются ли константы такими же злыми, как глобальные переменные и одиночные?

Не удалось подключиться к порту graph.facebook.com 443: Сеть недоступна

<?php session_start(); //included file and use $app_id = 'xxx'; $app_secret = 'xxx'; FacebookSession::setDefaultApplication($app_id, $app_secret); $helper = new FacebookRedirectLoginHelper("`http://example/facebook4.0`/", $app_id, $app_secret); try { $session = $helper->getSessionFromRedirect(); } catch(FacebookRequestException $ex) { } catch(Exception $ex) { } $loggedIn = false; if (isset($session)) { if ($session) { $loggedIn = true; try { //logged here and get data $user_profile = (new FacebookRequest( $session, 'GET', '/me' ))->execute()->getGraphObject(GraphUser::className()); print_r($user_profile); //print data } catch(FacebookRequestException $e) { echo "Exception occured, code: " . $e->getCode(); echo " with message: " . $e->getMessage(); } } } if(!$loggedIn) //if user is not online // get link and add scope { $loginUrl = $helper->getLoginUrl(array('public_profile','email')); echo "<a href='$loginUrl'>Login With Facebook</a>"; } else { print_r($user_profile); //logout link is generated here echo '<br><br><a href="index.php">Logout</a>'; //print to sceen } ?> 

Я установил имя домена для localhost и URL сайта для http://localhost/ . Я также пробовал http://localhost:80 , http://mydomainname:80 (изменение хостов)

это ошибка, которую я получаю в ответ:

 Facebook\FacebookSDKException Object ( [message:protected] => Failed to connect to graph.facebook.com port 443: Network unreachable [string:Exception:private] => [code:protected] => 7 [file:protected] => C:\xampp\htdocs\myapp\Facebook\HttpClients\FacebookCurlHttpClient.php [line:protected] => 142 [trace:Exception:private] => Array ( [0] => Array ( [file] => C:\xampp\htdocs\myapp\Facebook\FacebookRequest.php [line] => 248 [function] => send [class] => Facebook\HttpClients\FacebookCurlHttpClient [type] => -> [args] => Array ( [0] => https://graph.facebook.com/v2.0/oauth/access_token?client_id='my key'&redirect_uri=http%3A%2F%2Flocalhost%3A80%2Fmyapp%2F&client_secret='mykey_secert'&code=AQCYmzsFNUIQG7gUAZ3y-YJHLeIGcF-xyqHotx31MCJGlm16fV9VbVSzlGlx5280-u0Ho3jFjg_REevN5J0LEIPHerY1QaaBYjpkkoIMf6PCwHGj2OIrQDvfyGcUJRK4cJP0YQ8H8HdYw86xEhlcdJHvnObkCU6tSBcVbDWM8uoXJlRqNl6o-IdxoSfbk6IjuCreyagMXvam4vgV0HKxn0nkWaV26k1P6kQP_L1LtXXx2UyUQ1i0jJGL9JiGr1gsUbf5drY_URIrEWzawumpnSWkuxln8hiOtAr_xwM_4cBZwxf3_pWq8YnUotpmzzM5sPhW_ERMYWAdovjZPHu7Xdgs&access_token=329734847193179%7Cd9e5cdb2d0c3cbe1e127827762e94284&appsecret_proof='key_proof' [1] => GET [2] => Array ( ) ) ) [1] => Array ( [file] => C:\xampp\htdocs\myapp\Facebook\FacebookRedirectLoginHelper.php [line] => 146 [function] => execute [class] => Facebook\FacebookRequest [type] => -> [args] => Array ( ) ) [2] => Array ( [file] => C:\xampp\htdocs\myapp\index.php [line] => 52 [function] => getSessionFromRedirect [class] => Facebook\FacebookRedirectLoginHelper [type] => -> [args] => Array ( ) ) ) [previous:Exception:private] => ) 

Я знаю, что это старый вопрос, и ОП, возможно, уже нашел решение. Я также столкнулся с тем же вопросом при работе с плагином Laravel Socialite .

Для потомков я хотел бы опубликовать решение здесь. Проблема объясняется в этом вопросе : домен graph.facebook.com разрешает адрес IPV6, который некоторые сети не могут быть настроены для маршрутизации. Вы можете запросить cURL для разрешения IP-адресов на их значения IPV4. Установите для параметра CURLOPT_IPRESOLVE значение CURL_IPRESOLVE_V4 .

В случае плагина socialite нам пришлось модифицировать FacebookProvider.php чтобы включить дополнительную опцию.

редактировать

Чтобы быть более конкретным, Socialite использует GuzzleHttp, и нам нужно передать это как параметр для метода GuzzleHttp Client:

 'curl' => [ CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4]