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

При попытке настроить среду php на Windows (используя 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

который является местоположением сертификата i, созданного с использованием этого VBS script VBS- Script

Я также перезапустил свою службу WAMP.

PHP index curl reference

Ответ 1

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

https://curl.haxx.se/ca/cacert.pem

Скопируйте этот комплект сертификатов на свой диск. И используйте это на php.ini

curl.cainfo = "path_to_cert\cacert.pem"

Ответ 2

i исправил это, изменив файл 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, чтобы изменить

Ответ 3

@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.

Ответ 4

php --ini

Это скажет вам, какой именно файл php.ini загружается, поэтому вы знаете, какой из них нужно изменить. Я потратил много времени на изменение неправильного файла php.ini, потому что у меня были WAMP и XAMPP.

Кроме того, не забудьте перезапустить сервер WAMP (или все, что вы используете) после изменения php.ini.

Ответ 6

Самое простое решение этой проблемы - добавить команду ниже в поле.

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);

Используя это, вам не нужно будет добавлять какой-либо сертификат или что-то еще.

Ответ 7

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

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" ] = > string (40) "C:/path/to/your/cacert.pem"

Готово.

Ответ 8

Проблема исправлена, загрузите https://curl.haxx.se/ca/cacert.pem и поместите его "где-то", и добавьте эту строку в php.ini:

curl.cainfo = "C:/somewhere/cacert.pem"

PS: Я получил эту ошибку, пытаясь установить модуль на drupal с помощью xampp.

Ответ 9

Добавьте ниже в php.ini [используйте '/' вместо '\' в пути] curl.cainfo = "path/cacert.pem"

Перезапустил мой XAMPP. Это сработало для меня. Благодаря

Ответ 11

Сначала вам нужно скачать сертификат по этой ссылке

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

Таким образом, доступ к этому файлу и разблокирование этой строки ; Openssl.cafile

также обновить его, чтобы он выглядел следующим образом: openssl.cafile = "C:\wamp64\Bin\PHP\cacert.pem"

Наконец перезапустите сервер apache и все

Ответ 12

Просто чтобы вы знали, что сработало для меня, Файл 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.

Ответ 13

Решение состоит в том, чтобы отредактировать файл php.ini, расположенный в вашей версии php (для меня это php7.0.10), а не php.ini в apache. Вы найдете закомментированный файл следующим образом: curl.cainfo Просто измените эту строку следующим образом: curl.cainfo = "C:\permCertificate\cacert.pem"

Не забудьте создать каталог "permCertificate" и скопировать в него файл "cacert.pem".

Ответ 14

ВАЖНО: через 4 часа работа с laravel 5.7 и php 7. + и запуск/использование php artison serve на локальном хосте при попытке соединения с mailgun.

ВАЖНО, чтобы Решить проблему, не работайте с IP- адресом http://127.0.0.1:8000 используйте localhost или установите имя домена по файлу хоста

в порядке,