curl ничего не возвращает

122
28 апреля 2018, 16:43

На сервере (Windows 2012) стоит Apache + PHP. Пытаюсь подключится к Qiwi API по curl. Этот же код без каких либо изменений на локалке работает. PHP ошибок не выдает.

Просто в ответ на какую-либо функцию мне в ответ прилетает пустота. Прописал 'echo $result;' после строки '$result = curl_exec($ch);' и там ничего не было. Пустота. Обычно API при неверных данных возвращает ошибку, а тут ничего.

Я подключил модуль curl в php. При проверке в консоли, phpinfo() результаты говорят о том, что модуль на месте.

'echo curl_error($ch);' вернул : 'SSL certificate problem: self signed certificate in certificate chainblet';

Дайте совет в чем искать причину всех бед и что можно попробовать. Ниже прилагаю рабочую часть класса (полную версию класса можете увидеть по ссылке внизу поста) и скриншот с описанием модуля curl из php.

class Qiwi {
private $_phone;
private $_token;
private $_url;
function __construct($phone, $token) {
    $this->_phone = $phone;
    $this->_token = $token;
    $this->_url   = 'https://edge.qiwi.com/';
}
private function sendRequest($method, array $content = [], $post = false) {
    $ch = curl_init();
    if ($post) {
        curl_setopt($ch, CURLOPT_URL, $this->_url . $method);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($content));
    } else {
        curl_setopt($ch, CURLOPT_URL, $this->_url . $method . '/?' . http_build_query($content));
    }
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Accept: application/json',
        'Content-Type: application/json',
        'Authorization: Bearer ' . $this->_token,
        'Host: edge.qiwi.com'
    ]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    curl_close($ch);
    return json_decode($result, 1);
}
}

Ссылка на полную версию Qiwi API class на GitHub

Answer 1
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false)