【问题标题】:CURL not executing or returning an errorCURL 未执行或返回错误
【发布时间】:2016-05-25 09:42:15
【问题描述】:

我有一个托管在 OVH 的专用服务器,并且我有以下 PHP CURL 脚本,它调用 Facebook Graph API 以在用户墙上发布:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/v2.6/'.$user.'/feed');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'link='.$link.'&access_token=************');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

if(curl_errno($ch)){
   error_log(curl_error($ch));
}
else {
   error_log($response);
}

预期的行为是脚本应该记录 facebook 响应。我注意到很多次,脚本根本没有返回任何响应,甚至没有 CURL 错误。

我还有一个使用file_get_contents 的脚本。我还注意到,每隔几天我就会突然收到大量 connection timed out 调用 Facebook Graph API。它无缘无故地随机发生! 当我在登录错误日志后立即尝试从浏览器调用相同的 URL 时,它可以成功运行。

我真的很困惑 :( 你认为这些是 OVH 服务器或 Graph API 的连接问题还是什么?

谢谢

【问题讨论】:

  • 获取您的服务器无法通过浏览器连接的 URL 证明很少。您的主机可能存在连接问题。作为服务器管理员进行调查,检查日志等。

标签: php facebook facebook-graph-api curl


【解决方案1】:

想发表评论,而不是发布答案,但我没有足够的代表:(

对于使用 curl 的 https,我通常会添加:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

【讨论】:

  • 我知道这一点,但没有它从来都不是问题。我相信还有其他事情发生
  • 嗯,你试过了吗?另外,您可以在服务器本身上使用 wget 之类的东西,而不是在浏览器中尝试吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
  • 1970-01-01
  • 2014-11-24
  • 2021-09-21
  • 2014-09-18
  • 1970-01-01
相关资源
最近更新 更多