我的一个 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 支持还是没开启……有谁知道怎么搞么?提前谢谢了。在线等解答!
1
Yourshell 2019-06-22 09:44:01 +08:00 1
不需要安装?
|
2
songjiaxin2008 2019-06-22 09:48:44 +08:00 1
|
3
HuasLeung OP @Yourshell 老哥稳,非常感谢。
在 php-fpm 容器里面的 /usr/local/bin 执行 ```` docker-php-ext-install pdo pdo_mysql ```` 已解决. |
4
1069401249 2019-06-22 14:43:42 +08:00 2
@HuasLeung 写 dockerfile 吧,不然重启后就没了
|
5
HuasLeung OP @1069401249 做了本机的映射-v /usr/http/php/php.ini:/usr/local/etc/php/php.ini ,重启不会丢失
|
6
HuasLeung OP @1069401249 哦你说的是 pdo 扩展是吧,确实会丢失
|