V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
HuasLeung
V2EX  ›  问与答

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

  •  
  •   HuasLeung · 2019-06-22 09:34:07 +08:00 · 2886 次点击
    这是一个创建于 1760 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    <?php phpinfo() ?>
    

    发现 mysql 的 pdo 支持没有开启 https://i.loli.net/2019/06/22/5d0d83524d79336219.png

    以前都是传统方式部署,这次服务器上用的 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 支持还是没开启……有谁知道怎么搞么?提前谢谢了。在线等解答!

    6 条回复    2019-06-22 14:55:22 +08:00
    Yourshell
        1
    Yourshell  
       2019-06-22 09:44:01 +08:00   ❤️ 1
    不需要安装?
    HuasLeung
        3
    HuasLeung  
    OP
       2019-06-22 09:49:31 +08:00
    @Yourshell 老哥稳,非常感谢。

    在 php-fpm 容器里面的 /usr/local/bin 执行
    ````
    docker-php-ext-install pdo pdo_mysql
    ````
    已解决.
    1069401249
        4
    1069401249  
       2019-06-22 14:43:42 +08:00   ❤️ 2
    @HuasLeung 写 dockerfile 吧,不然重启后就没了
    HuasLeung
        5
    HuasLeung  
    OP
       2019-06-22 14:52:18 +08:00
    @1069401249 做了本机的映射-v /usr/http/php/php.ini:/usr/local/etc/php/php.ini ,重启不会丢失
    HuasLeung
        6
    HuasLeung  
    OP
       2019-06-22 14:55:22 +08:00
    @1069401249 哦你说的是 pdo 扩展是吧,确实会丢失
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1289 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 17:53 · PVG 01:53 · LAX 10:53 · JFK 13:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.