При попытке настроить среду php в Windows (используя wamp) для использования Amazon PHP SDK, когда я пытаюсь запустить образец теста, я получаю следующую ошибку:
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.
curl_setopt($rest, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
появляется картина.Ответы:
Используйте этот комплект корневого сертификата сертификата:
https://curl.haxx.se/ca/cacert.pem
Скопируйте этот комплект сертификатов на свой диск. И используйте это на
php.ini
curl.cainfo = "path_to_cert\cacert.pem"
источник
curl_setopt($ch, CURLOPT_CAINFO, ini_get('curl.cainfo'));
и в php.ini[cURL] curl.cainfo = C:\dev\xampp\php\cacert.pem
. Файл есть, но я все еще получаю сообщение об ошибке 60. Что-то не хватает?php.ini
: один для php-cli, второй для php-web (apache, nginx, ...). Вам нужно установитьcurl.cainfo = "path_to_cert\cacert.pem"
для Интернета. С другой стороны, если вы видитеcurl.cainfo
истинное значение в вашем информационном представлении php, на этот раз может быть проблема с разрешением.curl.cainfo
в своей информации о php. Означает ли это, что я поместил значение не в тот файл?я исправил это, изменив
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
изменятьисточник
Это сообщит вам, какой именно файл php.ini загружается, чтобы вы знали, какой из них нужно изменить. Я потратил много времени на изменение неправильного файла php.ini, потому что у меня были установлены WAMP и XAMPP.
Кроме того, не забудьте перезапустить сервер WAMP (или что-то еще, что вы используете) после изменения 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 для проверки. С радостью сообщаю, что после замены .pem все в порядке, используя параметр curl.cainfo в php.ini, которого все еще не было в 5.3.24.
источник
@ Hüseyin BABAL
Я получаю сообщение об ошибке с вышеуказанным сертификатом, но я пробую этот сертификат и его работу.
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" непосредственно в проводнике Windows. (в моем случае: «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»
Выполнено.
источник
Проблема устранена, загрузите https://curl.haxx.se/ca/cacert.pem и поместите его «где-нибудь» и добавьте эту строку в
php.ini
:curl.cainfo = "C:/somewhere/cacert.pem"
PS: Я получил эту ошибку, пытаясь установить модуль на drupal с помощью xampp.
источник
Самое простое решение проблемы - добавить в поле следующую команду.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
Для этого не нужно будет добавлять сертификат или что-то еще.
источник
Добавьте ниже в php.ini [используйте '/' вместо '\' в пути] curl.cainfo = "path / cacert.pem"
Перезагрузил мой XAMPP. У меня все сработало. Благодарность
источник
если cacert.pem из приведенных выше ссылок не работает, попробуйте этот сработал для меня
https://gist.github.com/VersatilityWerks/5719158/download
источник
Сначала вам нужно скачать сертификат по этой ссылке
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 и все
источник
ВАЖНО : после 4 часов работы с laravel 5.7 и php 7. + и запуска / использования php artison serve на локальном хосте, пытаясь подключиться к mailgun.
ВАЖНО Для решения проблемы не работайте с ip http://127.0.0.1:8000 используйте localhost или установите имя домена по файлу хоста
в порядке ,
источник
Решение - отредактировать файл php.ini, расположенный в вашей версии php (для меня это php7.0.10), а не php.ini apache. Вы найдете такой закомментированный файл: curl.cainfo Просто измените эту строку, как это curl.cainfo = "C: \ permCertificate \ cacert.pem"
Не забудьте создать каталог «permCertificate» и скопировать в него файл «cacert.pem».
источник
Просто чтобы вы знали, что сработало для меня, файл на https://curl.haxx.se/ca/cacert .... не работал, однако тот, который находится в zip-папке в сообщении по адресу ( http: // flwebsites .biz / posts / how-fix-curl-error-60-ssl-issue ) работал у меня без каких-либо проблем.
Как говорили другие, скопируйте файл сертификата в место на жестком диске, обновите строку
в вашем файле php.ini, чтобы прочитать
curl.cainfo= "path_to_cert\cacert.pem"
Перезагрузите сервер Apache.
источник