在docker容器中安装PHP7扩展
我已经使用创建了一个docker容器 我需要从这个容器连接到另一个运行postgres()的容器。然而,我似乎无法正确安装postgres的PHP7PDO驱动程序 下面是我的在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-
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文件并将其符号链接,那么应该加载模块