Код ошибки PHP cURL 60

При попытке настроить среду 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.

Ссылка на PHP-индекс

Используйте этот комплект корневого сертификата сертификата:

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

Я получаю ошибку с вышеуказанным сертификатом, но я пробую этот сертификат и его работу.

https://gist.github.com/VersatilityWerks/5719158/download

 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://gist.github.com/VersatilityWerks/5719158/download

Во-первых, нам нужно загрузить пакет сертификатов корневого сертификата:

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, и все.