Facebook PHP SDK:未知 SSL 协议错误

Facebook PHP SDK: Unknown SSL protocol error

我有一个 PHP 脚本,它通过 Facebook SDKFacebook API Graph 发出 PHP 请求 PHP

几天来,我的脚本失败了(50% 或更多),我遇到了这个错误:

Unknown SSL protocol error in connection to graph.facebook.com:443

我不知道为什么因为:

详情如下:

#0 /var/www/oie/vendor/facebook/php-sdk-v4/src/Facebook/FacebookClient.php(216): Facebook\HttpClients\FacebookCurlHttpClient->send('https://graph.f...', 'GET', '', Array, 60) #1 /var/www/oie/vendor/facebook/php-sdk-v4/src/Facebook/Facebook.php(469): Facebook\FacebookClient->sendRequest(Object(Facebook\FacebookRequest)) #2 /var/www/oie/vendor/facebook/php-sdk-v4/src/Facebook/Facebook.php(342): Facebook\Facebook->sendRequest('GET', '273607869342343...', Array, NULL, NULL, NULL) #3 /var/www/oie/src/AppBundle/Controller/APIGraphController.php(239): Facebook\Facebook->get('273607869342343...') #4 [internal function]: AppBundle\Controller\APIGraphController->importAction(Object(Symfony\Component\HttpFoundation\Request)) #5 /var/www/oie/var/bootstrap.php.cache(3042): call_user_func_array(Array, Array) #6 /var/www/oie/var/bootstrap.php.cache(2997): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #7 /var/www/oie/var/bootstrap.php.cache(2337): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #8 /var/www/oie/web/app.php(18): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #9 {main}

有什么问题?

我和 https://packagist.org/packages/facebook/graph-sdk#4.0.23

有同样的问题(SSL 协议错误)

https://packagist.org/packages/facebook/php-sdk-v4 已放弃,仅供参考

问题在于 SSL 证书和 cURL 协商

我已经解决了这个变化

vendor/facebook/graph-sdk/src/Facebook/HttpClients/FacebookCurlHttpClient.phpvendor/facebook/php-sdk-v4/src/Facebook/HttpClients/FacebookCurlHttpClient.php

search public function openConnection 函数和内部选项数组 add

  • CURLOPT_SSLVERSION => 6

并改变

  • CURLOPT_SSL_VERIFYPEER => false