快来帮忙! docker 如何开启 PHP -fpm 的 pdo 扩展?

2019-06-22 09:34:07 +08:00
 HuasLeung

我的一个 php 项目放到服务器上后报错 Illuminate\Database\QueryException could not find driver,打印了下 phpinfo

<?php phpinfo() ?>

发现 mysql 的 pdo 支持没有开启

以前都是传统方式部署,这次服务器上用的 docker 安装的 php:7.3.0-fpm,于是我 docker copy 了一份 php-fpm 容器里面的 php.ini-production 文件到 /usr/http/www/php(这个是自己建的目录),更改名称为 php.ini ,然后在 php.ini 里面开启了下面的扩展

extension=mysqli

extension=pdo_mysql

删除 php-fpm 容器重新 run 了一个

docker run --name php-fpm -p 9000:9000 -v /usr/http/www:/www -v /usr/http/php/php.ini:/usr/local/etc/php/php.ini -d php:7.3.0-fpm

再次查看 phpinfo 发现 mysql 的 pdo 支持还是没开启……有谁知道怎么搞么?提前谢谢了。在线等解答!

2889 次点击
所在节点    问与答
6 条回复
Yourshell
2019-06-22 09:44:01 +08:00
不需要安装?
songjiaxin2008
2019-06-22 09:48:44 +08:00
HuasLeung
2019-06-22 09:49:31 +08:00
@Yourshell 老哥稳,非常感谢。

在 php-fpm 容器里面的 /usr/local/bin 执行
````
docker-php-ext-install pdo pdo_mysql
````
已解决.
1069401249
2019-06-22 14:43:42 +08:00
@HuasLeung 写 dockerfile 吧,不然重启后就没了
HuasLeung
2019-06-22 14:52:18 +08:00
@1069401249 做了本机的映射-v /usr/http/php/php.ini:/usr/local/etc/php/php.ini ,重启不会丢失
HuasLeung
2019-06-22 14:55:22 +08:00
@1069401249 哦你说的是 pdo 扩展是吧,确实会丢失

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/576372

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX