На сервере (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
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Можно ли у разделов в кастомайзере сделать подразделы?