Laravel 5 Socialite - ошибка cURL 77: проверка сертификатов ошибок

Я использую socialite в Laravel 5 для настройки входа в facebook. Я внимательно следил за инструкциями, пока не застрял со следующей ошибкой.

cURL error 60: SSL certificate problem: unable to get local issuer certificate

поэтому я нашел этот ответ, чтобы исправить его, который действительно прошел, но затем я получил эту ошибку

cURL error 77: error setting certificate verify locations:
CAfile: /Applications/XAMPP/xamppfiles/cacert.pem
CApath: none

Любые идеи, в чем причина этой ошибки?! и как это исправить?!

Ответ 1

Я тоже застрял в этой проблеме. Оказалось, что я неправильно установил путь к моему сертификату в моем файле php.ini. Забыл расширение .txt.

Что у меня было:

curl.cainfo = "C:\xampp\php\cacert.pem"

Что я изменил на:

curl.cainfo = "C:\xampp\php\cacert.pem.txt"

Надеюсь, это поможет.

Ответ 2

Добавить файл cacert.pem из https://curl.haxx.se/ca/cacert.pem в C:\XAMPP\PHP\cacert.pem

Измените настройку в файле php.ini:

curl.cainfo = "C:\xampp\php\cacert.pem

Ответ 3

Моя ошибка:

cURL error 77: error setting certificate verify locations: CAfile: C:\xampp\apache\bin\curl-ca-bundle.crt CApath: none (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)


Это хорошо работает для меня:

  1. Загрузите сертификат с: https://curl.haxx.se/ca/cacert.pem
  2. Переименуйте файл cacert.pem в curl-ca-bundle.crt
  3. Скопируйте файл в путь/к /xampp/apache/bin
  4. Перезапустите Apache

Ответ 4

  • Сохраните этот сертификат (https://curl.haxx.se/ca/cacert.pem) как cacert.pem.txt в C:\xampp\php
  • Добавить в php.ini:

    curl.cainfo = "C:\xampp\php\cacert.pem.txt"
    
  • Не забудьте перезапустить XAMPP (он не будет работать, пока он не перезагрузится).

Тогда он отлично работает!

Ответ 5

Оформить двойную кавычку в файле php.ini: если вы скопировали и прошли из Интернета, возможно, вы получили неправильную двойную кавычку:

"C:\XAMPP\PHP\cacert.pem.txt"

вместо

"C:\XAMPP\PHP\cacert.pem.txt"

Ответ 6

  1. Скачать с (https://curl.haxx.se/ca/cacert.pem)
  2. Измените имя " cacert.pem " на " curl-ca-bundle.crt "
  3. В ' php.ini ' удалите ' ; 'в следующей строке: curl.cainfo="C:\xampp\apache\bin\curl-ca-bundle.crt"

Это сработало для меня.

Ответ 7

Вам нужно заменить существующий сертификат на другой здесь. После этого:

  • Извлеките и добавьте его в xampp\php\ext
  • Открыть xampp\php\php.ini
  • Добавьте эту строку curl.cainfo='location from the first step' в конец файла.
  • Перезагрузите, и теперь он должен работать.

Это источник.

Ответ 8

Я прочитал каждую нить, которую я смог найти, и этот предоставил недостающую часть.

Фон:. Я столкнулся с этой проблемой, пытаясь заставить Drupal 8 проверить наличие обновлений в новой среде разработки (на основе wamp).

  • Получить копию данных сертификата из Mozilla, ее можно найти здесь: https://curl.haxx.se/ca/cacert.pem Если вы хотите узнать больше о том, что это такое: https://serverfault.com/questions/241046/what-is-the-cacert-pem-and-for-what-to-use-that
  • Сохраните файл как "cacert.pem.txt" не как "cacert.pem" . Это был недостающий кусок, благодаря LyleK!. Я не знаю, почему, но у вас должно быть расширение .txt на конце или оно не работает.
  • Явно добавить путь к местоположению файла "cacert.pem.txt" на ваш php.ini

Пример:

[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo = "C:\wamp\custom\cacert.pem.txt"

Если вы используете стек wamp, перезапустите его. Вы должны быть добрым.

Ответ 9

Сначала вам нужно загрузить файл "curl.cainfo", тогда вам нужно найти его в C:\xampp\php\cacert.pem.txt.

Во-вторых, вам нужно открыть файл php.ini в Xampp и скопировать его = >

curl.cainfo = C:\xampp\php\cacert.pem.txt в любом месте.

Третий, пожалуйста, перезапустите Apache Server, обновите страницу локального хоста, и это должно работать нормально.

Ответ 10

это сработало для меня

curl.cainfo = "C:\xampp\php\cacert.pem.txt"

надеюсь, что это поможет кому-то:)

Ответ 11

Если кто-то работает с Windows с Plesk, и они получают эту ошибку.

Вы должны убедиться, что путь curl.cainfo находится внутри каталога Plesk PHP, иначе вы получите ошибку выше даже с исправлением.

curl.cainfo = "C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\extras\ssl\cacert.pem.txt"

Исправлено для меня. Надеюсь, это поможет кому-то, когда-нибудь где-нибудь.

Ответ 12

Для окон

У меня была такая же проблема после того, как я обновил php в окне 2008. Внезапно все мои php коды перестали работать. То, что я сделал, я opned php.ini, тогда я нашел строку

;curl.cainfo =

и я изменился на

curl.cainfo = "C:\Program Files (x86)\PHP\v7.0\cacert.pem" (не забудьте удалить, до curl.cainfo)

и все пошло нормально. Вам нужно загрузить файл сертификата cert.pem и поместить его где угодно на своем сервере и изменить строку, как я сделал в php.ini

Ответ 13

У меня возникли некоторые проблемы с инструкциями в отношении ошибки 77.

В Windows 7, в зависимости от настроек безопасности, загруженный файл может быть заблокирован. Смотрите скриншот:

Windows 7 File Properties

После того, как я разблокировал файл и обеспечил надлежащие права доступа пользователя, мне также пришлось поместить файл в следующее место:

C:\xampp\apache\bin\cacert.pem.txt

В дополнение к изменению php.ini для других сообщений по этому вопросу.

curl.cainfo="C:\xampp\php\cacert.pem.txt"

После выполнения описанных выше шагов, перезапуска Apache через панель управления XAMPP, ошибка была устранена.

Ответ 14

У меня была такая же проблема, и я пробовал каждое решение, упомянутое здесь и в других сообщениях, но никто из них не работал. Я пробовал
1) Установка правильных прав файла (не работает)
2) Изменение расширения файла (не работает)


затем я переместил файл cacert.pem внутри php/directory в xampp и перезапустил его, он работал. Надеюсь, это поможет кому-то.

Ответ 15

У меня была та же проблема. вам нужно открыть файл .pem или pem.txt с помощью простого редактора (блок-заметки) и пропустить (https://curl.haxx.se/ca/cacert.pem) в ваш файл. вы должны перезагрузить apache.

Ответ 16

Я пробовал @mahesh-singh-chouhan, @omarsafwany, решения @LyleK. но повторяйте такую ​​же ошибку.

После этого я обновляю файл php.ini без двойных кавычек и с расширением .pem, и мне удастся получить желаемый результат с помощью кода ниже.

curl.cainfo=E:\Xampp-5.6.3\php\ext\cacert.pem

Я также добавил скриншот.

Пожалуйста, сначала попробуйте рекомендации пользователей, если не удалось использовать это.

Спасибо за решения Это создает для меня способ @mahesh-singh-chouhan, @omarsafwany, @LyleK   [! [введите описание изображения здесь] [1]] [1]

  [1]: https://i.stack.imgur.com/3Pgkp.jpg

Ответ 17

Кажется, вы забыли добавить цитату для пути к файлу. У меня была такая же ошибка (77), потому что я забыл добавлять кавычки. Я решил проблему, добавив это. ex: "C:\AppServ\php\cacert.pem"

Ответ 18

вы не внимательно прочитали ошибку, теперь внимательно прочитайте

cURL, ошибка 77: ошибка установки сертификата, проверка местоположения: CAfile: D:\XAMPP\apache\bin\curl-ca-bundle.crt CApath: нет (см. http://curl.haxx.se/libcurl/c/libcurl-errors.html)

это означает, что вам не хватает файла с именем curl-ca-bundle.crt для проверки местоположения сертификата, поэтому вам просто нужно поместить этот файл (curl-ca-bundle.crt) в папку XAMPP\apache\bin \, и все в порядке ошибка 77 исчезла

curl-ca-bundle.crt, для загрузки файла вы можете воспользоваться этой ссылкой https://github.com/nirmalkumar98/nk

Ответ 19

у меня была эта проблема в Windows 2012

у меня был виртуальный выделенный сервер, который хост для Laravel

тогда у меня была эта ошибка и

  • скачать этот файл с здесь
  • положить в мою папку extras в php 7.2
  • в моем файле php.ini найдите эту строку

    [Завиток]

    ; Значение по умолчанию для опции CURLOPT_CAINFO. Это должно быть

    ; абсолютный путь.  curl.cainfo = extras/ssl/cacert.pem

  • я вставляю свой загружаемый файл в php файл вот так:

curl.cainfo = "C:\Program Files (x86)\PHP\v7.2\extras\ssl\cacert.pem" cacert error rest api call curl php

  • затем сохраните php.ini
  • затем перезапустите мой IIS или просто веб-сайт

restart your iis windows 2012 cacert 77 error laravel php

в моем случае я просто перезапустить свой сайт

Ответ 21

Cela fonctionne bien pour moi:

1- Вы можете получить сертификат от участника: https://curl.haxx.se/ca/cacert.pem 2- Renommez le fichier cacert.pem en curl-ca-bundle.crt 3- Копировать le fichier dans chemin/vers/xampp/apache/bin 4- Redémarrer Apache

Ответ 22

Если это связано с git:

git config --global http.sslverify "false"

решит проблему.