微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Docker PHP如何启用MySQL扩展

近段时间手头有个PHP的源码,对它挺感兴趣所以就用Docker运行了PHP8的容器,代码运行起来之后发现数据库无法访问,根据报错信息看出是MysqL的扩展没启用,百度溜达了好久也没找到一个帖子讲明白如何启用扩展,自己摸索了半天终于搞明白,在这里分享给一下

安装扩展的教程在文档中有记录,根据文档描述镜像中已经内置了许多常用的扩展,只是没有安装,且文档中写出了操作扩展的命令

image

我下载的镜像是PHP8版本:docker pull PHP:8.0-fpm,容器起名为PHP8

进入到容器中,执行PHP -m命令,可以看到打印出MysqLnd,查看该扩展所在位置

[root@localhost webs]# docker exec -it PHP8 /bin/bash
root@8e288e13b95c:/var/www/html# PHP -m
root@8e288e13b95c:/var/www/html# find / -name MysqLnd

执行install命令安装MysqLnd,然后再次查看该扩展所在位置,会发现多了一个目录

root@8e288e13b95c:/var/www/html# docker-PHP-ext-install MysqLnd
root@8e288e13b95c:/var/www/html# find / -name MysqLnd

移动到多出来的目录中,查看与MysqL相关的文件,会看到MysqLi,这个才是真正要安装的扩展,执行安装

root@8e288e13b95c:/var/www/html# cd /usr/src/PHP/ext
root@8e288e13b95c:/usr/src/PHP/ext# ls -l | grep MysqL
root@8e288e13b95c:/usr/src/PHP/ext# docker-PHP-ext-install ./MysqLi

至此安装完成,退出容器重启后重启MysqL扩展就可以使用了

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐