如何在 docker 容器中启用 php 的 mysql 扩展?

2022-08-30 18:19:36

我有以下docker-compose.yml

web:
  image: nginx:1.17.1-alpine
  ports:
    - "80:80"
  volumes:
    - ./code:/code
    - ./site.conf:/etc/nginx/conf.d/site.conf
  links:
    - php

php:
  build: .
  volumes:
    - ./code:/code
  links:
    - mysql

mysql:
  image: yobasystems/alpine-mariadb:latest
  ports:
    - "3306:3306"
  volumes:
    - ./mysql:/var/lib/mysql
environment: 
    - MYSQL_ROOT_PASSWORD=password

和以下 dockerfile

FROM php:7.1.0-fpm-alpine

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

在此设置中,php的mysql扩展或docker mysql扩展永远不会被安装。我无法从php容器访问mysql。adminer.php抱怨说:“没有一个受支持的PHP扩展(MySQLi,MySQL,PDO_MySQL)可用。

我们如何解决这个问题?


答案 1

将以下内容添加到 dockerfile 中修复了此问题。

RUN docker-php-ext-install mysqli pdo pdo_mysql && docker-php-ext-enable pdo_mysql

答案 2

推荐