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

官方PHP8 Docker镜像中无法安装ext-mysqli等扩展求助

解决官方PHP8 Docker镜像中Composer依赖所需扩展的安装问题

错误原因

你之前用apt-get install php8.0-mysql的方式完全错误——官方PHP Docker镜像里的PHP是独立编译的,和系统包管理的PHP版本不兼容,根本识别不了这种方式装的扩展;而且你用的docker-php-ext-enable ext-mysql命令也不对,正确的扩展名称是mysqli,不是ext-mysql。

正确安装步骤

官方PHP镜像自带专门的扩展管理脚本docker-php-ext-install和docker-php-ext-enable,以下是针对你需要的扩展的有效安装方法:

1. 先装系统依赖(部分PHP扩展编译需要)

在容器内执行或者写入Dockerfile:

apt-get update && apt-get install -y \
    libzip-dev \
    default-mysql-client \
    && rm -rf /var/lib/apt/lists/*
  • libzip-dev:是编译PHP zip扩展必须的系统库
  • default-mysql-client:可选,如果你需要在容器里用MySQL命令行工具就保留

2. 编译安装PHP扩展

执行下面的命令装需要的扩展:

docker-php-ext-install mysqli zip simplexml

补充:ext-json和ext-curl在官方PHP8镜像里默认已经启用,不用额外装;如果你用的是超精简版镜像,把这俩名称也加到上面的命令里就行。

3. 验证扩展是否生效

跑这个命令确认扩展装好了:

php -m | grep -E "mysqli|zip|simplexml|json|curl"

输出里能看到这些扩展名称,就说明安装成功了。

完整Dockerfile示例(推荐)

如果是通过Dockerfile构建镜像,建议把命令合并,减少镜像体积:

FROM php:8.0-fpm # 按需替换成php:8.0-cli/php:8.0-apache等官方镜像

# 安装系统依赖+PHP扩展
RUN apt-get update && apt-get install -y \
        libzip-dev \
        default-mysql-client \
    && docker-php-ext-install mysqli zip simplexml \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# 安装Composer并执行依赖安装
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

COPY . /var/www/html
WORKDIR /var/www/html
RUN composer install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:55:15