为什么Facebook Graph API会在PHP中出现SSL错误?

时间:2015-03-07 22:01:53

标签: php facebook facebook-graph-api ssl curl

每当我尝试在PHP 5.6中使用Facebook Graph API时,它会给我以下错误:

  

警告:file_get_contents():SSL操作失败,代码为1. OpenSSL错误消息:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议

     

警告:file_get_contents():无法在/home/xxx/public_html/api/v1/test.php中启用加密

首先,我使用的是PHP SDK v4,但我现在只是尝试连接到此URL:

  

https://graph.facebook.com/me?access_token=XXXXX

使用以下代码:

$url = "https://graph.facebook.com/me?access_token=XXXXX";
$result = file_get_contents($url);
$json_response = json_decode($result);
var_dump($json_response);

我还尝试了手动设置SSL模式和使用我可以在Google上找到的cURL的所有组合,但它总是给我同样的错误。是否有我需要更改/启用的服务器设置,或者我是否犯了一个简单的错误?

编辑: 当我尝试使用cURL将密码模式设置为TLS 1.2时,它会给出相同的错误:

$ch = curl_init();
curl_setopt_array( $ch, array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSLVERSION => 'TLSv1_2',
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_VERBOSE => true
) );
$output = curl_exec( $ch );
echo $output;

echo 'error:' . curl_error( $ch );

curl_close($ch);
  

错误:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议

0 个答案:

没有答案