Facebook PHP SDK:未知的SSL协议错误 [英] Facebook PHP SDK: Unknown SSL protocol error

查看:100
本文介绍了Facebook PHP SDK:未知的SSL协议错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个PHP脚本,该脚本使用Facebook SDKPHPFacebook API Graph发出获取"请求.

I have a PHP script who make "get" requests to the Facebook API Graph with the Facebook SDK for PHP.

几天以来,我的脚本失败了(50%或更多的时间),我遇到了以下错误:

For a few days, my script fails (50% of the time, or more), I've got this error:

与graph.facebook.com:443相关的未知SSL协议错误

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

我不知道为什么,因为:

and I don't know why because:

  • 我没有修改脚本.
  • 我没有更改服务器上的任何内容.
  • 此外,我的脚本在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(Object(Facebook \ FacebookRequest))#2/var/www/oie/vendor/facebook/php/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,Array)#6/var/www/oie/var/bootstrap.php.cache(2997) :Symfony \ Component \ HttpKernel \ HttpKernel-> handleRaw(Object(Symfony \ Component \ HttpFoundation \ Requ est),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}

#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/php-sdk-v4 被放弃以供参考

问题出在SSL证书和cURL协商

the problems is with SSL certificate and cURL negotiation

我已经解决了这个变化

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

搜索public function openConnection函数和内部选项数组添加

search public function openConnection function and inside options array add

  • CURLOPT_SSLVERSION => 6

并更改

  • CURLOPT_SSL_VERIFYPEER => false

这篇关于Facebook PHP SDK:未知的SSL协议错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆