Facebook API从今天开始提供错误

Plo*_*der 4 facebook-graph-api

直到今天我在PHP下的facebook api工作得很好.我什么都没改变.但是从今天起我得到以下错误:

facebook失败:"错误:14094410:SSL例程:SSL3_READ_BYTES:sslv3警报握手失败/ usr/bin/php /var/www/pas/www/cronjobs/cronjob.channelsActions.php

有没有人知道,我怎么能解决这个错误?

小智 11

这是因为POODLE:SSLv3.0漏洞(CVE-2014-3566).

在今天宣布此漏洞之后,许多服务暂时完全禁用了SSLv3,包括Facebook,并且恰好Facebook在其PHP SDK中使用SSLv3.

我不确定您是否拥有与我相同的Facebook PHP SDK版本,但如果您有base_facebook.php文件,请找到以下行:

$opts[CURLOPT_SSLVERSION] = 3;
Run Code Online (Sandbox Code Playgroud)

并将其更改为不再允许SSLv3的值(查找列出的所有常量):

$opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_DEFAULT;
Run Code Online (Sandbox Code Playgroud)

要么:

$opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1;
Run Code Online (Sandbox Code Playgroud)

要么:

$opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1_0;
Run Code Online (Sandbox Code Playgroud)

这样Facebook API调用将使用TLSv1.0而不是SSLv3.在我的情况下,该行是在"makeRequest的($网址,$参数,可以$ CH = NULL)"功能的线路963,但根据PHP SDK版本你使用它可能会有所不同.