You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP7.0环境下pecl安装mongodb-1.4.2失败,疑证书过期

问题描述

执行命令:

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,询问是否有解决办法,还是只能等待更新证书。

解决办法
  • 临时跳过证书验证
    给pecl命令添加--insecure参数,强制跳过SSL证书校验,作为临时应急方案:

    RUN pecl install --insecure mongodb-1.4.2 && docker-php-ext-enable mongodb
    

    注意:此方式会降低安全性,仅适合临时场景。

  • 更新系统根证书
    针对php:7.0(基于Debian Jessie)的Docker镜像,先更新系统根证书库:

    RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && update-ca-certificates
    RUN pecl install mongodb-1.4.2 && docker-php-ext-enable mongodb
    

    若使用Alpine版本的php:7.0镜像,执行:

    RUN apk update && apk add ca-certificates && update-ca-certificates
    RUN pecl install mongodb-1.4.2 && docker-php-ext-enable mongodb
    
  • 手动下载编译安装
    直接从PECL归档下载指定版本扩展包,手动编译安装:

    RUN curl -L --insecure https://pecl.php.net/get/mongodb-1.4.2.tgz -o mongodb.tgz \
        && tar xzf mongodb.tgz \
        && cd mongodb-1.4.2 \
        && phpize \
        && ./configure \
        && make && make install \
        && docker-php-ext-enable mongodb \
        && rm -rf mongodb.tgz mongodb-1.4.2
    

    若已更新系统根证书,可去掉curl命令中的--insecure参数。

内容的提问来源于stack exchange,提问作者reinisal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:35:12