php - 如何在 docker 容器中启用 php 的 mysql 扩展?
问题描述
我有以下 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)都不可用。”
我们如何解决这个问题?
解决方案
将以下内容添加到 dockerfile 解决了该问题。
RUN docker-php-ext-install mysqli pdo pdo_mysql && docker-php-ext-enable pdo_mysql
推荐阅读
- sql - 何时应在 SQL 脚本中显式添加检查点
- python - Redrat套接字连接错误socket.error:[Errno 111]连接被拒绝
- python - Discord py - 当用户添加反应时赋予角色
- java - 向 eventthub 发送和接收消息引发 amqp 异常
- jsf - 如何使用 JSF 将数据分组
- javascript - 如何录制屏幕的选定部分
- reporting-services - 强制 SSRS 报告生成器表在 PDF 输出中不相互重叠?
- flutter - Flutter Widget Inspector 不断显示 vscode 中的负载
- sql - How to add auto increment id according to a group in VFP 9 and SQL Server
- node.js - 使用对象原型方法应用节点模块