【问题标题】:Install PHP 7 extensions in docker container在 docker 容器中安装 PHP 7 扩展
【发布时间】:2016-09-22 16:25:27
【问题描述】:

我使用https://hub.docker.com/_/php/ 创建了一个 docker 容器。

我需要从这个容器连接到另一个运行 postgres 的容器 (https://hub.docker.com/_/postgres/)。但是,我似乎无法正确安装 postgres 的 PHP 7 PDO 驱动程序。

这是我的Dockerfile 的样子:

FROM php:7.0-cli
COPY ./app /app
WORKDIR /app
RUN apt-get update && apt-get install -y \
    postgresql-client  \
    && docker-php-ext-install -j$(nproc) pgsql
CMD [ "php", "./do_stuff.php" ]

代替pgsql,我尝试了pdo-pgsqlphp7.0-pgsql,并尝试添加一行以添加ppa:ondrej/php repo,但没有成功。

大多数软件包都无法安装(甚至是 docker 在找不到 php7.0-pgsql 后建议的 pdo-pgsql),但安装的奇怪软件包仍然会抛出一个错误,即在尝试安装时找不到驱动程序创建一个PDO 连接。

是否有正确的方法来获取安装在 docker 容器中的 postgres 的 PDO 驱动程序?

【问题讨论】:

    标签: php postgresql pdo docker


    【解决方案1】:

    确保扩展在 /etc/php/7/cli/conf.d 或 /etc/php/7/fpm/conf.d 中进行符号链接 - 文件夹取决于您的发行版。

    可以通过运行查看模块是否加载

    php -m
    php7-fpm -m
    

    如果模块丢失,请检查 /etc/php/7/modules 是否存在 .ini 文件并对其进行符号链接,然后应该加载模块。

    【讨论】:

      猜你喜欢
      • 2018-04-18
      • 2021-12-27
      • 2016-11-04
      • 2020-04-11
      • 2017-05-20
      • 1970-01-01
      • 2017-07-11
      • 2018-04-07
      • 2015-04-28
      相关资源
      最近更新 更多