Facebook SDK for PHP 错误 - CurlException:35:错误:14094410:SSL 例程:SSL3_READ_BYTES:sslv3 警报握手失败
我使用 Facebook SDK for PHP v2.0 的应用在过去 20 到 24 小时内停止工作.我不断从 base_facebook.php 收到以下错误 -
My app using Facebook SDK for PHP v2.0 stopped working since the past 20 - 24 hours. I keep getting the following error from the base_facebook.php -
CurlException:35:错误:14094410:SSL 例程:SSL3_READ_BYTES:sslv3 警报握手失败
CurlException: 35: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
通过阅读 stackoverflow 上的其他线程,我将以下代码行添加到 base_facebook.php,但这些都没有帮助.
From reading the other threads on stackoverflow I added the following lines of code to base_facebook.php but none of these help.
$opts[CURLOPT_SSL_VERIFYPEER] = false;
$opts[CURLOPT_SSL_VERIFYHOST] = false;
$opts[CURLOPT_SSLVERSION] = 3;
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3');
任何解决问题的建议将不胜感激.谢谢.
Any suggestions to the fix the issue would be highly appreciated. Thanks.
推荐答案
这里是因为 SSLv3 漏洞:https://access.redhat.com/articles/1232123Facebook 禁用了 SSLv3,因此您无法再使用它.
It's because SSLv3 vulnerbility here: https://access.redhat.com/articles/1232123 Facebook disabled SSLv3 so, you cannot use it anymore.
如果您有 php 5.5 或 5.6,请尝试更改
If you have php 5.5 or 5.6, try change
$opts[CURLOPT_SSLVERSION] = 3;
到
$opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1;
如果您可以使用它而不会经常出错,那就可以了.如果你的php版本低于5.5,把这两行注释掉就可以了.
If you can use it without constant error, it's ok. If you have php version lower than 5.5, just comment these 2 lines out and it will be fine after that.
$opts[CURLOPT_SSLVERSION] = 3;
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3');
相关文章