Вопрос или проблема
Когда я пытаюсь установить 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:
error:0A000086:SSL routines::certificate verify failed
Не удалось включить шифрование
Не удалось открыть поток: операция не удалась
Я переустановил XAMPP на моем компьютере.
Затем попробовал обновить файл сертификата, следуя https://curl.se/docs/caextract.html и переименовал файл curl-ca-bundle.crt. Я также добавил этот сертификат в Диспетчер сертификатов Windows, но это не помогло.
Я также переустановил OpenSSL с помощью choco и скопировал файлы в XAMPP (каталог apache), где находится мой PHP.
Я не достаточно хорошо разбираюсь во всем этом, чтобы сделать что-то большее.
Ответ или решение
Если вы столкнулись с проблемами установки Composer на Windows 11 из-за ошибок с сертификатами, следующие шаги могут помочь вам устранить эту неисправность. Рассмотрим ключевые моменты, выявленные в вашем описании проблемы, и дадим пошаговое руководство по устранению ошибок SSL-сертификатов, которые могут возникнуть при установке Composer.
Проблема
Основная проблема заключается в ошибке certificate verify failed
, связанной с устаревшими файлами сертификатов доверенных центров сертификации (CA) на вашем компьютере или неправильной конфигурацией OpenSSL в XAMPP.
Пошаговое решение
-
Обновите файлы сертификатов
- Перейдите на сайт cURL CA Extract и скачайте файл
cacert.pem
. Это последняя версия сертификатов CA, которая может использоваться OpenSSL для валидации сертификатов.
- Перейдите на сайт cURL CA Extract и скачайте файл
-
Настройте PHP для использования обновленного файла сертификатов
- Скопируйте загруженный файл
cacert.pem
в каталог, где установлен XAMPP, например,D:\xampp\apache\bin\
. - Откройте файл
php.ini
, который используется вашей командной строкой PHP. Вы указали, что он расположен по адресу:D:\xampp\php\php.ini
.
- Скопируйте загруженный файл
-
Редактируйте файл
php.ini
- Найдите параметр
openssl.cafile
вphp.ini
. Если он отсутствует, добавьте следующую строку:openssl.cafile=D:\xampp\apache\bin\cacert.pem
- Это укажет PHP использовать обновленный файл сертификатов.
- Найдите параметр
-
Перезапустите XAMPP и серверы Apache
- После внесения изменений обязательно перезапустите XAMPP, чтобы новые параметры вступили в силу.
-
Проверьте переменные среды
- Убедитесь, что среда Windows использует вашу версию PHP из XAMPP. Для этого проверьте PATH и убедитесь, что путь к
php
в XAMPP находится перед другими установками PHP.
- Убедитесь, что среда Windows использует вашу версию PHP из XAMPP. Для этого проверьте PATH и убедитесь, что путь к
-
Использование командной строки от администратора
- Иногда проблемы с сертификатами могут быть решены запуском командной строки с правами администратора, особенно если вам нужно внести изменения на системном уровне.
Заключение
Эти шаги должны помочь вам устранить проблемы с сертификатами при установке Composer на Windows 11. Убедитесь, что все изменения верны и что они касаются нужной версии PHP. Также полезно проверить, корректно ли настроен OpenSSL и используются ли последние версии программного обеспечения. Если проблема сохраняется, рекомендуется обратить внимание на расширения PHP, которые могут вызвать конфликты с OpenSSL.