Composer › ошибка: 14090086: процедуры SSL: SSL3_GET_SERVER_CERTIFICATE: ошибка проверки сертификата

Я могу подключиться к сайтам SSL, установить композитор через командную строку через HTTPS. Проверена версия OPENSSL SSL Version => OpenSSL/1.0.1j . Так в чем проблема? Мысли?

Вот необработанный вывод.

[kunaaljain@localhost php]$ /opt/lampp/bin/php-5.6.3 composer.phar diagChecking composer.json: FAIL
the property name is required
the property description is required
No license specified, it is recommended to do so. For closed-source software you may use "proprietary" as license.
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity: FAIL
[Composer\Downloader\TransportException] The "https://packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
failed to open stream: Cannot connect to HTTPS server through proxy
Checking HTTP proxy: FAIL
[Composer\Downloader\TransportException] The "https://packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
failed to open stream: Cannot connect to HTTPS server through proxy

person Ignited    schedule 31.01.2015    source источник


Ответы (3)


Это проблема OpenSSL с php > 5.6. У Роба Аллена есть исправление с использованием доморощенного здесь: http://akrabat.com/ssl-certificate-verification-on-php-5-6/

На github также есть официальная проблема для Composer: https://github.com/composer/composer/issues/2798#issuecomment-68200214

Редактирование вашего php.ini, связывающего ваши файлы сертификатов, должно исправить это:

curl.cainfo=/full/path/to/ssl/certs/ca-bundle.crt
openssl.cafile=/full/path/to/ssl/certs/ca-bundle.crt

В этом вопросе рассказывается, как найти правильный путь: Сбой обновления Composer при обновлении из packagegist

person webDEVILopers    schedule 15.03.2015
comment
У меня возникла эта проблема на PHP 5.5.9. - person mae; 02.04.2016

У меня был такой же случай на моем Mac после того, как я обновил до OSX El Capitan и одновременно обновил другие вещи в своей среде разработки.

Я потратил полдня на расследование и пришел к выводу, что причина была в том, что openssl имеет устаревшие сертификаты. Решение заключалось в извлечении сертификатов из цепочки ключей Apple с помощью скрипта bash:

    cert_file="$( openssl version -d | awk -F'"' '{print $2}' )/cert.pem"
    mkdir -p "${cert_file%/*}"
    security find-certificate -a -p /Library/Keychains/System.keychain > "$cert_file"
    security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> "$cert_file"

Это должно помочь в большинстве случаев, если ранее конфигурация openssl не была изменена вручную. Необходимо простое обновление сертификатов.

person Farside    schedule 10.12.2015

У меня была такая же проблема при попытке запустить композитор в моей локальной бродячей среде. Обнаружена проблема, вызванная рассинхронизацией системных часов.

Исправлено запуском

  vagrant ssh
  sudo apt install ntpdate
  sudo ntpdate ntp.ubuntu.com
  sudo timedatectl set-ntp on
  sudo service ntp stop
  sudo ntpd -gq
  sudo service ntp start
person naw103    schedule 27.10.2018
comment
Нравится - person Ata; 14.05.2020