При попытке настроить среду php на окна (используя wamp) для использования SDK Amazon PHP, когда я пытаюсь запустить образец теста, я получаю следующую ошибку:
Fatal error: Uncaught exception 'cURL_Exception' with message 'cURL resource: Resource id #10; cURL error: SSL certificate problem: unable to get local issuer certificate (cURL error code 60). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.' in C:\wamp\www\AWSSDKforPHP\lib\requestcore\requestcore.class.php on line 848
Я уже добавил следующую строку в свой php.ini
curl.cainfo = C:\Windows\ca-bundle.crt
который является местоположением сертификата, созданного с использованием этого сценария VBS VBS-Script
Я также перезапустил службу WAMP.
Используйте этот комплект корневого сертификата сертификата:
https://curl.haxx.se/ca/cacert.pem
Скопируйте этот комплект сертификатов на свой диск. И использовать это на php.ini
curl.cainfo = "path_to_cert\cacert.pem"
Я исправил это, изменив файл php.ini
на C:\wamp\bin\apache\apache2.4.9\bin\
curl.cainfo = "C:/wamp/bin/php/php5.5.12/cacert.pem"
сначала я пытался модифицировать файл php.ini
в C:\wamp\bin\php\php5.5.12\
и это не сработало.
надеюсь, это поможет кому-то, кто ищет правильный php.ini
чтобы изменить
@Overflowh Я попробовал вышеупомянутый ответ и не повезло. Я изменил версию php с 5.3.24 до 5.5.8, поскольку этот параметр будет работать только в php 5.3.7 и выше. Затем я нашел этот http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue. Я загрузил cacert.pem и заменил ту, которую я загрузил / сделал из curl.hxxx.se связанный выше, и все это начало работать. Я пытался проверить IPN Paypal sandbox. С удовольствием скажем после замены .pem, все в порядке, используя параметр curl.cainfo в php.ini, который все еще не был в 5.3.24.
@ Hüseyin BABAL
Я получаю ошибку с вышеуказанным сертификатом, но я пробую этот сертификат и его работу.
php --ini
Это скажет вам, какой именно файл php.ini загружается, поэтому вы знаете, какой из них нужно изменить. Я потратил много времени на изменение неправильного файла php.ini, потому что у меня были WAMP и XAMPP.
Кроме того, не забудьте перезапустить сервер WAMP (или все, что вы используете) после изменения php.ini.
Проблема исправлена, загрузите https://curl.haxx.se/ca/cacert.pem и поместите его «где-то» и добавьте эту строку в php.ini
:
curl.cainfo = "C:/somewhere/cacert.pem"
PS: Я получил эту ошибку, пытаясь установить модуль на drupal с помощью xampp.
Добавьте ниже в php.ini [используйте '/' вместо '\' в пути] curl.cainfo = "path / cacert.pem"
Перезапустил мой XAMPP. Это сработало для меня. благодаря
если cacert.pem сверху ссылок не работает, попробуйте это для меня
Во-первых, нам нужно загрузить пакет сертификатов корневого сертификата:
https://curl.haxx.se/ca/cacert.pem
Переместите этот файл куда-нибудь, например, в папку PHP в папке Wamp / Xampp.
Затем отредактируйте свой «php.ini»:
curl.cainfo = "C: /path/to/your/cacert.pem"
а также
openssl.cafile = "C: /path/to/your/cacert.pem"
ВАЖНЫЙ:
Убедитесь, что вы открываете файл «php.ini» непосредственно вашим проводником окон. (в моем случае: «C: \ DevPrograms \ wamp64 \ bin \ php \ php5.6.25 \ php.ini»).
Не используйте ярлык для «php.ini» в меню значка Wamp / Xampp в системном трее. Этот ярлык не работал в некоторых случаях, с которыми я столкнулся.
После сохранения «php.ini» вам не нужно «перезапускать все службы» в значке Wamp или закрыть / повторно открыть CMD.
Попробуйте «var_dump (openssl_get_cert_locations ());» и посмотрите на строку: ["ini_cafile"] => строка (40) "C: /path/to/your/cacert.pem"
Готово.
Самое простое решение этой проблемы – добавить команду ниже в поле.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
Используя это, вам не нужно будет добавлять какие-либо сертификаты или что-то еще.
Просто, чтобы вы знали, что сработало для меня, файл https://curl.haxx.se/ca/cacert …. не работал, однако, тот, который находится в папке zip в сообщении ( http: // flwebsites .biz / posts / how-fix-curl-error-60-ssl-issue ) работал для меня без каких-либо проблем.
Как говорили другие, скопируйте файл сертификата в место на вашем жестком диске, обновите строку
;curl.cainfo
в файле php.ini для чтения
curl.cainfo= "path_to_cert\cacert.pem"
Перезагрузите сервер Apache.
Сначала вам нужно скачать сертификат по этой ссылке
https://curl.haxx.se/ca/cacert.pem
и поместите его в то место, где вы хотите, чтобы имя загружаемого файла: cacert.pem Так что в моем случае я поставлю его под C: \ wamp64 \ bin \ php \ cacert.pem
Затем вам нужно указать расположение файла php.ini
Например, я использую php 7, файл php.ini находится по адресу: C: \ wamp64 \ bin \ php \ php7.0.10 \ php.ini
Таким образом, доступ к этому файлу и uncommit этой строки; openssl.cafile
также обновите его, чтобы он выглядел так: openssl.cafile = "C: \ wamp64 \ bin \ php \ cacert.pem"
Наконец, перезапустите сервер Apache, и все.