问题原因
Docker安装官方仓库中的php-fpm镜像没有mysqli扩展,导致php程序无法连接数据库
系统环境
系统版本:ubuntu18.04
Docker Version:19.03.12
镜像版本:php:7.4.8-fpm
解决方案
# 进入docker容器
docker exec -it 替换成你的容器名称 bash
cd /usr/local/bin
./docker-php-ext-install pdo_mysql
然后就妥了,无需修改php.ini。
如果不好使的话,修改php.ini 添加(或去掉注释) extension=mysqli,然后再重启容器一下试试,配置文件目录/usr/local/etc/php/conf.d。
phpinfo中出现mysqli就安装成功了。
安装其他扩展
该镜像的/usr/local/bin目录下有一个docker-php-ext-install程序专门用来安装php扩展
运行它即可显示出能够安装的扩展,配合docker-php-ext-enable程序可以控制扩展的启动/禁用。
./docker-php-ext-install
Dockerfile方式
可以通过配置Dockerfile简化操作流程,方法如下
1、创建Dockerfile
FROM php:7.4.8-fpm
ADD $PWD/php/conf /usr/local/etc/php/conf.d
RUN /usr/local/bin/docker-php-ext-install pdo_mysql
2、调整docker-compose.yml
version: "3"
networks:
webserver:
services:
web:
image: nginx
networks:
- webserver
ports:
- 8082:80
volumes:
- /var/www/html/yunceku:/www
- $PWD/nginx/nginx.conf:/etc/nginx/nginx.conf
- $PWD/nginx/log:/var/log/nginx
php:
build: .
networks:
- webserver
volumes:
- $PWD/php/conf:/usr/local/etc/php/conf.d
- /var/www/html/yunceku:/www
标题:Docker官方镜像php-fpm中安装mysqli扩展
分类:Docker
链接:https://www.aqwdzy.com/content/66
版权:通天技术网(www.aqwdzy.com)所分享发布内容,部分为网络转载,如有侵权请立即联系方式,我们第一时间删除并致歉!
热烈庆祝通天技术网开业大吉
@通天技术网 热烈庆祝通天技术网开业大吉
热烈庆祝通天技术网开业大吉
@通天技术网 热烈庆祝通天技术网开业大吉