Ошибка: Сomposer require SSL certificate problem
Введение: ошибка SSL при установке пакетов через Composer на Windows
При работе с PHP-проектами установка зависимостей через Composer — стандартная практика. Однако на Windows иногда возникает ошибка SSL, например, «SSL certificate problem: unable to get local issuer certificate». Это мешает скачиванию необходимых пакетов и блокирует разработку.
Почему в Composer появляется ошибка «SSL certificate problem: unable to get local issuer certificate»
Ошибка связана с тем, что Composer не может проверить подлинность SSL-сертификата сервера из-за отсутствия или неправильной настройки корневых сертификатов в системе. Windows часто требует дополнительной настройки PHP для корректной работы с HTTPS.
Основные причины:
- Отсутствие актуального файла
cacert.pem
с корневыми сертификатами. - Некорректная конфигурация PHP (
curl.cainfo
иopenssl.cafile
). - Вмешательство стороннего ПО, особенно антивирусов и прокси.
Роль антивируса Avast в блокировке загрузки пакетов Composer
Многие пользователи не подозревают, что именно антивирус влияет на SSL-соединения Composer. Avast в целях безопасности применяет HTTPS-сканирование, которое перехватывает и анализирует зашифрованный трафик. В результате Composer получает сертификат Avast, а не оригинальный удалённого сервера.
Механизм вмешательства Avast в SSL-соединения и почему это мешает Composer
Avast работает как посредник HTTPS-соединения: устанавливает отдельное шифрованное соединение с сервером и своим сертификатом — с вашим компьютером. Однако сертификат Avast не всегда корректно распознаётся PHP и Composer, вызывая ошибку доверия SSL. Это приводит к невозможности загрузить пакеты с репозиториев, таких как Packagist.
Как узнать, что проблема именно в Avast: проверка и диагностика
Для диагностики:
- Временно отключите Avast и попробуйте повторно выполнить
composer require
. - Если ошибка пропадает — причина в антивирусе.
- Проверьте переменную окружения
SSL_CERT_FILE
и настройкиphp.ini
. - Убедитесь, что
cacert.pem
актуален и правильно подключён.
Практическое решение: отключение HTTPS-сканирования в Avast для устранения ошибки
Чтобы устранить проблему без ущерба безопасности:
- Откройте настройки Avast.
- Перейдите в раздел “Защита” > “Основные настройки”.
- Отключите опцию “Сканирование HTTPS”.
- Перезапустите PHP и повторите установку пакета в Composer.
Если отключать HTTPS-сканирование нежелательно, можно попробовать добавить сертификат Avast в доверенные, но это сложнее и требует администраторских прав.