我的应用程序使用Facebook SDK for PHP v2.0自过去20-24小时后停止工作。我一直从base_facebook.php得到以下错误 -
CurlException:35:错误:14094410:SSL例程:SSL3_READ_BYTES:sslv3警报握手失败
通过读取stackoverflow上的其他线程,我将以下代码行添加到base_facebook.php,但这些都没有帮助。
$opts[CURLOPT_SSL_VERIFYPEER] = false;
$opts[CURLOPT_SSL_VERIFYHOST] = false;
$opts[CURLOPT_SSLVERSION] = 3;
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3');
任何有关解决问题的建议都将受到高度赞赏。感谢。
答案 0 :(得分:14)
这是因为SSLv3的脆弱性在这里: https://access.redhat.com/articles/1232123 Facebook已禁用SSLv3,因此您无法再使用它了。
如果你有php 5.5或5.6,请尝试更改
$opts[CURLOPT_SSLVERSION] = 3;
到
$opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1;
如果您可以使用它而没有不断的错误,那就没关系。如果您的php版本低于5.5,只需将这两行注释掉,之后就可以了。
$opts[CURLOPT_SSLVERSION] = 3;
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3');