我有一个PHP脚本,它使用Facebook SDK for PHP向Facebook API Graph发出"get“请求。
有几天,我的脚本失败了(50%或更多次),我得到了以下错误:
graph.facebook.com:443连接中的未知SSL协议错误
我不知道为什么因为:
以下是详细信息:
#0 /var/www/oie/vendor/facebook/php-sdk-v4/src/Facebook/FacebookClient.php(216):Facebook\HttpClients\FacebookCurlHttpClient->send('https://graph.f/...','GET','',数组,#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->sendRequest(‘GET’,‘273607869342343.’,数组,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/AppBundle\Controller\APIGraphController->importAction(Object(Symfony\Component\HttpFoundation\Request))/bootstrap.php.cache(3042):call_user_func_array(call_user_func_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}
有什么问题吗?
发布于 2016-09-17 16:35:34
我和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.php或vendor/facebook/php-sdk-v4/src/Facebook/HttpClients/FacebookCurlHttpClient.php
搜索public function openConnection函数和内部选项数组添加
CURLOPT_SSLVERSION => 6和改变
CURLOPT_SSL_VERIFYPEER => falsehttps://stackoverflow.com/questions/39466539
复制相似问题