RUN pecl install mongodb-1.4.2
В результате получился этот вывод:
RUN pecl install mongodb-1.4.2 && docker-php-ext-enable mongodb:
No releases available for package "pecl.php.net/mongodb"
install failed
Может ли это быть проблемой с сертификатом? потому что, если я попытаюсь выполнить wget, я получу следующее:
Connecting to pecl.php.net (104.236.228.160:443)
ssl_client: pecl.php.net: certificate verification failed: certificate has expired
PHP-версия PHP: 7.0
Есть ли способ исправить это или мне нужно просто подождать, пока они обновят сертификат?
Я не понимаю, почему вы явно делаете wget, когда pecl install загружает пакет для вас. Кроме того, ваши версии довольно древние. С какого образа докера вы начинаете?
@AlexHowansky php:7.0-fpm-alpine, я запустил установку pecl, это не сработало, затем попробовал wget. редактировать: в вопросе была ошибка, это должно прояснить ваше замешательство: D
В течение последних года или двух срок действия исходного сертификата ЦС LetsEncrypt истек, и он был заменен новым сертификатом. Вам нужно запустить обновления на машине, на которой выполняется эта команда, чтобы получить обновленный пакет сертификата ЦС для вашего дистрибутива. Это, вероятно, решит немало проблем в системе, а не только доступ к PECL.






Ваш базовый образ слишком стар и не содержит соответствующей информации о сертификате, и apk update && apk upgrade не поможет вам. Я не вижу способа заставить pecl игнорировать сертификаты, но вы могли бы сделать:
wget --no-check-certificate https://pecl.php.net/get/mongodb-1.4.2.tgz
pecl install --offline ./mongodb-1.4.2.tgz
Конечно, я бы рекомендовал не использовать такие старые версии, и тогда это не будет проблемой.
Он работал до сегодняшнего дня. Почему он стал бы слишком старым просто так.
Возможно, они установили новый сертификат на стороне сервера.
Сертификат действителен, его можно зашифровать. Возможно, на вашем сервере нет ЦС для проверки