每当我尝试在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:
使用以下代码:
$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:未知协议