在docker容器中安装PHP7扩展

在docker容器中安装PHP7扩展,php,postgresql,pdo,docker,Php,Postgresql,Pdo,Docker,我已经使用创建了一个docker容器 我需要从这个容器连接到另一个运行postgres()的容器。然而,我似乎无法正确安装postgres的PHP7PDO驱动程序 下面是我的Dockerfile的样子: FROM php:7.0-cli COPY ./app /app WORKDIR /app RUN apt-get update && apt-get install -y \ postgresql-client \ && docker-php-

我已经使用创建了一个docker容器

我需要从这个容器连接到另一个运行postgres()的容器。然而,我似乎无法正确安装postgres的PHP7PDO驱动程序

下面是我的
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
我尝试了
pdopgsql
php7.0-pgsql
,并尝试添加一行来添加
ppa:ondrej/php
repo,以便顺利退出

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


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

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

您可以通过运行来确定模块是否已加载

php -m
php7-fpm -m

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

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

您可以通过运行来确定模块是否已加载

php -m
php7-fpm -m
如果模块丢失,请检查/etc/php/7/modules,如果那里存在.ini文件并将其符号链接,那么应该加载模块