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

Docker构建PHP8.0-Apache镜像未自动安装mysqli/pdo_mysql求助

问题原因及解决方案:Dockerfile未被使用导致PHP扩展未安装

核心问题

你的docker-compose.yml中,php-apache-environment服务配置的是直接使用官方的php:8.0-apache镜像,完全没有引用你编写的Dockerfile来构建自定义镜像。所以执行docker compose up --build时,Docker并没有按照你的Dockerfile指令安装扩展,而是直接拉取了官方基础镜像启动容器。

解决方案

修改docker-compose.yml,让PHP服务基于你的Dockerfile构建镜像:

  1. 替换PHP服务的image配置为build指令,指定Dockerfile所在目录(假设Dockerfile和docker-compose.yml在同一目录下):

    services:
      php-apache-environment:
        container_name: php-apache
        build: .  # 表示从当前目录的Dockerfile构建镜像
        # 可选:给构建好的镜像自定义命名,方便后续复用
        image: custom-php-apache:8.0
        volumes:
          - ./php/src:/var/www/html/
        ports:
          - 8000:80
    
  2. 重新执行构建启动命令:

    docker compose up --build
    

验证方法

容器启动后,进入PHP容器执行以下命令,查看已安装的扩展列表,确认mysqli和pdo_mysql存在:

docker exec -it php-apache php -m

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 09:54:15