我上周使用的代码没有任何问题。但最近,客户端更改了服务器设置,我遇到了这个奇怪的问题。我的curl请求现在返回id为35并且不会生成auth令牌。我检查了php_info
函数,发现服务器上已经启用了curl。我知道这里的代码是完美的,因为它在之前和在另一台服务器中工作得很好。有谁知道我应该在服务器-Cpanel
中查找什么,或者代码是否需要进行任何更改?
function fetchUrl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
// You may need to add the line below
// curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$feedData = curl_exec($ch);
curl_close($ch);
return $feedData;
}
$profile_id = "XXXXXXXXXXXXX";
//App Info, needed for Auth
$app_id = "XXXXXXXXXXXXXXXXXX";
$app_secret = "XXXXXXXXXXXXXXXXXXXXX";
//Retrieve auth token
$authToken = fetchUrl("https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id={$app_id}&client_secret={$app_secret}");
$json_object = json_decode(fetchUrl("https://graph.facebook.com/{$profile_id}/feed?{$authToken}"));
答案 0 :(得分:1)
将curl SSL版本设置为版本3
curl_setopt($ch, CURLOPT_SSLVERSION,3);
这应该有效