Не удаётся установить composer из-за сбоя проверки сертификата у Удостоверяющего центра.

Вопрос или проблема

Когда я пытаюсь установить composer на Windows 11 Professional, появляется следующая ошибка:

Скрипт установщика Composer завершился неудачно [код выхода 1].

OpenSSL не удалось с ошибкой 'certificate verify failed'. 
Это указывает на проблему с файлом(ами) Удостоверяющего Центра на вашей системе, 
которые могут быть устаревшими.

Расположение сертификата [из настройки openssl.cafile ini]:
D:\xampp\apache\bin\curl-ca-bundle.crt

php.ini, используемый вашей командной строкой PHP: D:\xampp\php\php.ini

Вывод скрипта:
Файл "https://getcomposer.org/versions" не может быть загружен: 
Операция SSL завершилась неудачно с кодом 1.  
Сообщения об ошибках OpenSSL:
ошибка:0A000086:SSL routines::certificate verify failed
Не удалось включить шифрование
Не удалось открыть поток: операция не удалась

Я переустановил XAMPP на своем компьютере.

Затем попытался обновить файл сертификата, используя https://curl.se/docs/caextract.html и переименовал файл curl-ca-bundle.crt. Я также добавил этот сертификат в Диспетчер сертификатов Windows, но это не помогло.

Я также переустановил OpenSSL с помощью choco и скопировал файлы в XAMPP, где находится мой PHP.

Я недостаточно разбираюсь во всем этом, чтобы сделать что-либо еще.

Ответ или решение

Установка Composer на Windows 11 может быть затруднена из-за проблем с проверкой сертификата, как это описано в вашей ситуации. Давайте рассмотрим возможные причины этой проблемы и предложим пошаговое руководство для её решения.

Причины ошибки

Ошибка certificate verify failed в большинстве случаев связана с тем, что ваша система не может проверить подлинность SSL-сертификата, поскольку файл с сертификатами Центров Сертификации (CA) отсутствует или устарел. В вашем случае это происходит с файлом curl-ca-bundle.crt, который является частью конфигурации OpenSSL, используемого в вашем XAMPP.

Шаги по решению проблемы

  1. Проверка файла CA:

    • Убедитесь, что файл curl-ca-bundle.crt актуален и корректен. Если вы его заменили на версию с сайта https://curl.se/docs/caextract.html, убедитесь, что этот файл был скачан и заменен правильно.
  2. Настройка php.ini:

    • Откройте файл D:\xampp\php\php.ini и найдите строку, в которой указывается путь к файлу с сертификатами:
      ;openssl.cafile =

      Убедитесь, что она раскомментирована и правильный путь к вашему обновленному curl-ca-bundle.crt указан:

      openssl.cafile = "D:\xampp\apache\bin\curl-ca-bundle.crt"
  3. Обновление XAMPP и OpenSSL:

    • Если вы уже обновили XAMPP и OpenSSL, убедитесь, что непосредственно PHP используется последнюю версию OpenSSL. В том случае, если файлы OpenSSL и PHP не синхронизированы, может возникнуть конфликт.
  4. Проверка системных переменных:

    • Обратите внимание на системные переменные PATH. Убедитесь, что путь до php.exe из XAMPP и всех связанных компонентов включён и корректно прописан в переменных PATH вашей системы.
  5. Проверка установки Composer:

    • Попробуйте установить Composer через командную строку с более подробным логированием:
      php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
      php -r "if (hash_file('sha384', 'composer-setup.php') === '906a1f69aa784cfaebf26c0c403c1c6e3a5d6be5e77b864b9a19ba0fbf0d7109bb81f43e3a0fb300ad9b6ad3e88fba1b') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
      php composer-setup.php --install-dir=bin --filename=composer
      php -r "unlink('composer-setup.php');"
    • Использование этих команд поможет выявить конкретные ошибки в процессе загрузки установочного скрипта Composer.

Заключение

Если описанные шаги не помогли в решении проблемы, возможно, стоит обратиться к системному администратору или специалисту по PHP для более детальной диагностики. Также полезно проверить форумы и сообщества пользователей XAMPP для поиска аналогичных случаев и накопленного опыта.

Оцените материал
Добавить комментарий

Капча загружается...