Wie aktiviere ich die MySQL-Erweiterungen von PHP im Docker-Container? [duplicate]

Lesezeit: 1 Minute

Ich habe die folgende 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

und folgende dockerfile

FROM php:7.1.0-fpm-alpine

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

In diesem Setup werden die MySQL-Erweiterungen von PHP oder Docker-Mysql-Erweiterungen nie installiert. Ich kann vom PHP-Container aus nicht auf MySQL zugreifen. adminer.php beschwert sich und sagt: “Keine der unterstützten PHP-Erweiterungen (MySQLi, MySQL, PDO_MySQL) ist verfügbar.”

Wie beheben wir dieses Problem?

Benutzeravatar von Danushka Gunawardena
Danushka Gunawardena

Das Hinzufügen des Folgenden zur Docker-Datei hat das Problem behoben.

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

  • im ursprünglichen Beitrag ist es etwas anders, PDO-Teile fehlen darin.

    – Danushka Gunawardena

    24. Juli 2019 um 12:58 Uhr

  • Danke dafür! Ich denke, die mysqli Bit ist nicht wirklich erforderlich. Es ist eine Erweiterung neben PDO.

    – gyohza

    8. Februar 2021 um 2:02 Uhr

1434150cookie-checkWie aktiviere ich die MySQL-Erweiterungen von PHP im Docker-Container? [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy