2016-08-21 4 views
1

Поэтому мне нужно использовать API REST Twitter в веб-приложении, которое я разрабатываю, и я написал некоторый очень простой PHP-код, чтобы просто проверить, могу ли я подключиться на сервер Twitter. К сожалению, каждый раз, когда я пытаюсь выполнить код, он выплывает с ошибкой:«Невозможно получить сертификат локального эмитента» в PHP Twitter API

Фатальная ошибка: Uncaught исключение «Exception» с сообщением 'проблемы с сертификатами SSL: не удалось получить локальный сертификат эмитента

Я хостинг приложение в настоящее время на XAMPP 3.2.2 как фронт тестирования, так что он официально не размещен нигде.

Вот мой код, за исключением моего потребителя ключа и OAuth маркер, как они конфиденциальны:

<?php 

    require_once("TwitterAPIExchange.php"); 
    $url = "https://api.twitter.com/1.1/search/tweets.json"; 
    $twitter = new TwitterAPIExchange($settings); 
    $requestMethod = "GET"; 
    $getField = "?q=twitter"; 
    $response = $twitter->setGetfield($getField)->buildOauth($url, $requestMethod)->performRequest(); 
    echo $response; 

?> 

Как я могу решить эту проблему сертификата SSL? Я не очень хорошо разбираюсь в SSL, и мне нужно, чтобы он использовал этот API в моем веб-приложении.

Как я уже говорил раньше, я вошел мой OAuth и потребительские детали, но не здесь, как это частная информация

Заранее спасибо

ответ

4

Вам нужно настроить библиотеку CURL использовать «CA сертификаты "(обычно известный как cacert.pem).

В основном вам необходимо изменить php.ini (example).

+0

Что такое "php.ini"? – DevB

+0

php.ini - это файл конфигурации для PHP: http://php.net/manual/en/configuration.file.php Здесь можно найти его под XAMPP: http://stackoverflow.com/a/6185364/ 3219919 –

0

Это не рекомендация, но вы можете изменить библиотеку и отключить CURL SSL.

В строке 296 добавить следующее: CURLOPT_SSL_VERIFYPEER => false Это должно сработать.

enter image description here

Надеется, что это помогает.

Смежные вопросы