使用Twitter API的SSL证书错误

时间:2018-03-14 08:18:56

标签: php ssl

我正在Windows IIS服务器上本地开发并尝试在我的应用程序中使用Twitter API,如下所示:

$settings = array(
  'oauth_access_token' => "...",
  'oauth_access_token_secret' => "...",
  'consumer_key' => "...",
  'consumer_secret' => "..."
);

$twitter = new TwitterAPIExchange($settings);

$url = "https://api.twitter.com/1.1/search/tweets.json";
$getfield = "?q=%23test";
$requestMethod = "GET";
$result = $twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest();

echo json_encode($result);

运行此命令会出现以下错误:

  

致命错误:未捕获异常:SSL证书问题:无法在第321行的C:\ inetpub \ wwwroot \ ... \ vendor \ j7mbo \ twitter-api-php \ TwitterAPIExchange.php中获取本地颁发者证书   例外:SSL证书问题:无法在第321行的C:\ inetpub \ wwwroot \ ... \ vendor \ j7mbo \ twitter-api-php \ TwitterAPIExchange.php中获取本地颁发者证书

我发现你需要添加一个SSL certificate,我已经下载了cacert.pem,但我对如何在IIS中启用它感到很遗憾。有什么指针吗?

编辑:所以我现在从IIS中导入了我们公司的证书,我的服务器现在运行在https上。我将此添加到php.ini

curl.cainfo = "C:\...\certificate.PFX"

但重新启动服务器后,我仍然遇到同样的错误。

1 个答案:

答案 0 :(得分:0)

好的,事实证明,安装我们公司证书的所有麻烦都是不必要的。我跟着these instructions(感谢RamRaider)并且它有效。 Hurray \ o /