Страница 1 из 1
SSL certificate problem: unable to get local issuer certificate
Добавлено: 26 авг 2015, 10:09
hostbx
Приветствую. Ранее все работало, что может быть?
Стала возникать ошибка:
Warning: SimpleEmailService::listVerifiedEmailAddresses(): 60 SSL certificate problem: unable to get local issuer certificate in D:\OpenServer\domains\*\app\library\php-aws-ses-master\src\SimpleEmailService.php on line 371
В настройках установлен PHP-5.5
В файле PHP-5.5_php.ini:
[curl]
curl.cainfo = "%sprogdir%/modules/php/%phpdriver%/cacert.pem"
Сам файл присутствует на своем месте в:
D:\OpenServer\modules\php\PHP-5.5\cacert.pem
Windows 7 x64
open server 5.2.2
Добавлено: 31 авг 2015, 14:34
hostbx
Ребята, хэлп. Подскажите куда посмотреть!
Решил такую же проблему
Добавлено: 06 сен 2015, 11:28
hordesalik
Возникла такая же проблема .скачал этот сертификат:
http://curl.haxx.se/ca/cacert.pem
положил по пути, как из Вашего примера. Перезапустил сервер - не заработало. Добавил в конце php.ini пустую строку - все подхватилось
Добавлено: 06 сен 2015, 22:13
Максим
hordesalik писал(а):Возникла такая же проблема .скачал этот сертификат:
http://curl.haxx.se/ca/cacert.pem
положил по пути, как из Вашего примера. Перезапустил сервер - не заработало. Добавил в конце php.ini пустую строку - все подхватилось
Хотите сказать что на работу с cacert.pem влияет пустая строка в конце файла php.ini? Да не может такого быть. Дайте пример кода на PHP, где можно получить ошибку "unable to get local issuer certificate", проверю.
Добавлено: 07 сен 2015, 00:11
hordesalik
да. дело в том, что php.ini должен оканчиваться пустой строкой иначе последняя директива не считывается. вот это были последние 2 строчки php.ini и они не прочитались
[curl]
curl.cainfo = "%sprogdir%/modules/php/%phpdriver%/cacert.pem"
после того как я добавил еще одну пустую строку - заработало
для теста можно отправить curl запрос на https линк.
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://www.google.com/recaptcha/api/siteverify',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query([
'secret' => '...',
'response' => '...'
])
]);
$response = curl_exec($ch);
Добавлено: 07 сен 2015, 01:16
Максим
hordesalik писал(а):да. дело в том, что php.ini должен оканчиваться пустой строкой иначе последняя директива не считывается. вот это были последние 2 строчки php.ini и они не прочитались
[curl]
curl.cainfo = "%sprogdir%/modules/php/%phpdriver%/cacert.pem"
В Open Server данные строки не являются последними в php.ini соответственно они не могут быть причиной проблемы.
Данные строки в Open Server по умолчанию прописаны в конфиге PHP в середине файла, сам файл cacert.pem присутствует в каждой папке с PHP.
hordesalik писал(а):для теста можно отправить curl запрос на https линк.
Никаких ошибок и ругательств на сертификат на вашем тесте нет.
Добавлено: 07 сен 2015, 09:41
hordesalik
Максим писал(а):
В Open Server данные строки не являются последними в php.ini соответственно они не могут быть причиной проблемы.
Данные строки в Open Server по умолчанию прописаны в конфиге PHP в середине файла, сам файл cacert.pem присутствует в каждой папке с PHP.
Я давно не обновлялся. Может поэтому у меня не было этой директивы и пришлось добавлять самому...