简体   繁体   English

Facebook PHP SDK:未知的 SSL 协议错误

[英]Facebook PHP SDK: Unknown SSL protocol error

I have a PHP script who make "get" requests to the Facebook API Graph with the Facebook SDK for PHP .我有一个PHP脚本,它使用 Facebook SDK for PHPFacebook API Graph发出“获取”请求。

For a few days, my script fails (50% of the time, or more), I've got this error:几天来,我的脚本失败(50% 或更多),我收到此错误:

Unknown SSL protocol error in connection to graph.facebook.com:443与 graph.facebook.com 相关的未知 SSL 协议错误:443

and I don't know why because:我不知道为什么,因为:

  • I didn't modify the script.我没有修改脚本。
  • I didn't change anything on the server.我没有更改服务器上的任何内容。
  • Moreover, my script runs on 2 servers and the problem occurs on both.此外,我的脚本在 2 台服务器上运行,并且问题都发生在两台服务器上。

Here are the details:以下是详细信息:

#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(2 #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(对象(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 [内部函数]:AppBundle\\Controller\\APIGraphController->importAction(Object(Symfony\\Component\\HttpFoundation\\Request)) #5 /var/www/oie/var/bootstrap.php.cache(3042): call_user_func_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(2 337): 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} 337): 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}

What is the problem?问题是什么?

I've same problem (SSL protocol error) with https://packagist.org/packages/facebook/graph-sdk#4.0.23我和https://packagist.org/packages/facebook/graph-sdk#4.0.23有同样的问题(SSL 协议错误)

https://packagist.org/packages/facebook/php-sdk-v4 is abandoned FYI https://packagist.org/packages/facebook/php-sdk-v4被放弃仅供参考

the problems is with SSL certificate and cURL negotiation问题在于 SSL 证书和 cURL 协商

I have solved with this change我已经解决了这个变化

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

search public function openConnection function and inside options array add搜索public function openConnection函数和内部选项数组添加

  • CURLOPT_SSLVERSION => 6

and change和改变

  • CURLOPT_SSL_VERIFYPEER => false

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM