Ошибка Composer Curl 60: проблема с сертификатом SSL: невозможно получить сертификат локального эмитентаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка Composer Curl 60: проблема с сертификатом SSL: невозможно получить сертификат локального эмитента

Сообщение Anonymous »

Я пытаюсь заставить композитор работать на удаленном компьютере с Windows, использующем прокси-сервер, но всегда получаю эту ошибку при установке/обновлении композитора:
[Composer\Downloader\TransportException] ошибка 60 при
загрузке https://flex.symfony.com/versions.json: SSL-сертификат
проблема: невозможно получить сертификат локального эмитента

Это мой композитор.bat:

Код: Выделить всё

@echo OFF
:: in case DelayedExpansion is on and a path contains !
setlocal DISABLEDELAYEDEXPANSION
set HTTP_PROXY=
php "%~dp0composer.phar" %*
Очевидно, что установка прокси необходима, если я удалю строку, ошибка станет такой:

[Composer\ Downloader\TransportException] ошибка Curl 28 при
загрузке https://flex.symfony.com/versions.json: время выполнения операции истекло
через 10000 миллисекунд, получено 0 из 0 байтов

Код: Выделить всё

composer diag
дает мне это (с установленным прокси):

Код: Выделить всё

Checking composer.json: OK
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking HTTP proxy: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 2.0.9
PHP version: 7.4.7
PHP binary path: C:\Program Files\PHP\current\php.exe
OpenSSL version: OpenSSL 1.1.1g  21 Apr 2020
cURL version: 7.69.1 libz 1.2.11 ssl OpenSSL/1.1.1g
zip: extension present, unzip not available
Я просмотрел множество публикаций и руководств, но ни один из ответов мне не помог. (Некоторые из них просто завитки, и есть возможность отключить проверку сертификатов, но это не работает для композитора). Вот что я пробовал:
  • Загрузил cacert.pem с http://curl.haxx.se/ca/cacert.pem или https://curl. .se/docs/caextract.html (без копирования и вставки, поскольку некоторые говорили, что редактирование файла приведет к его повреждению - однако это должно произойти)
  • сохранил файл локально
  • активировал openssl в php.ini
  • отредактировал php.ini и добавил путь к файлу сертификата для «curl.cainfo», а также для «openssl.cafile» (согласно некоторые сообщения имеют значение, поэтому я попробовал и то, и другое), использовал полный путь и кавычки, например: Curl.cainfo="C:\Program Files\PHP\cacert.pem"
  • переместил pem-файл в разные каталоги, чтобы убедиться, что никакие разрешения Windows не сделают его недоступным (на всякий случай я также сделал файл и его каталог доступными для всех пользователей)
  • использовал php -r "print_r(openssl_get_cert_locations());", чтобы узнать местоположение файла сертификата по умолчанию (это "C:\Program Files\Common Files\SSL"), а также сохранил сертификат -file там
Все это не сработало, ошибка осталась та же.
Потом я нашел пост, в котором устанавливался репозиторий в композиторе .json и явно установил файл сертификата для этого репозитория, поэтому я также попробовал и добавил это в свой композитор.json:

Код: Выделить всё

{
"repositories": [{
"type": "composer",
"url": "https://flex.symfony.com",
"options" : {
"ssl" : {
"cafile" : "cacert.pem"
}
}
}]
}
Файл «cacert.pem» находится в том же каталоге, что и мой композитор.json, теперь ошибка такая:

[Composer\Downloader\TransportException] Не удалось загрузить
файл https://flex.symfony.com/packages.json
(HTTP/2 404 )
что неудивительно, поскольку при попытке доступа к «https://flex.symfony.com/packages.json» через браузер я также получаю ошибку 404. (Дон не знаю, имеет ли значение то, что внезапно «packages.json» не удалось загрузить, в то время как ошибка сертификата жаловалась на «versions.json», понятия не имею, что загружается первым, и является ли эта ошибка « хороший знак.)
Это путешествие методом проб и ошибок продолжается уже несколько дней, у меня нет идей, поэтому любая помощь приветствуется!

Подробнее здесь: https://stackoverflow.com/questions/662 ... ssuer-cert
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»