tengo el siguiente 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
y siguiente dockerfile
FROM php:7.1.0-fpm-alpine
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli
En esta configuración, las extensiones mysql de php o las extensiones mysql de docker nunca se instalan. No puedo acceder a mysql desde el contenedor php. adminer.php se queja diciendo que “Ninguna de las extensiones de PHP admitidas (MySQLi, MySQL, PDO_MySQL) está disponible”.
¿Cómo solucionamos este problema?
danushka gunawardena
Agregar lo siguiente a dockerfile solucionó el problema.
RUN docker-php-ext-install mysqli pdo pdo_mysql && docker-php-ext-enable pdo_mysql
-
en la publicación original, es un poco diferente, faltan partes de pdo.
– Danushka Gunawardena
24 de julio de 2019 a las 12:58
-
¡Gracias por esto! Pienso que el
mysqli
bit no es realmente necesario. Es una extensión aparte de PDO.– gyohza
8 de febrero de 2021 a las 2:02