我已经使用 docker-compose 命令安装了
PHP:latest
Docker 容器。它在我的 Docker 中安装了 php-7.1.6-fpm
。当我尝试安装 php7-pgsql
扩展时,它找不到该软件包,而是找到了 pdo
和 pdo_pgsql
软件包。那不能满足我的需要。当我在已安装的 PHP 容器中搜索可用的软件包时,我找不到 php7
的任何相关 pgsql 软件包,相反,我看到了 php5-pgsql
软件包,它不适用于 php7-fpm。
最后,我在删除旧的目标以使用
php5-pgsql
包后安装了 php-5.6-fpm 容器。但现在我再次失望了,在新安装的容器中找不到php5-pgsql
包。
我知道我会遗漏一些重要的要点。 Alpine Linux 是否没有
php-pgsql
扩展。有哪些可能的方法可以将此扩展包含在我的 PHP 容器中。我还在我的 docker-compose.yml 中包含了 Nginx 和 Postgres
我只有 3 天的 Docker 理论知识和第一天的实践经验。
感谢您的阅读。
当我设置一个新项目来使用 pgsql 时,我遇到了同样的问题。
我使用的是php7,所以你应该也可以使用它。在您的 Dockerfile 上,确保您涵盖以下步骤。
确保已安装依赖项:
RUN apt-get update && apt-get install -y libpq-dev
配置扩展:
RUN docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql
安装扩展:
RUN docker-php-ext-install pdo pdo_pgsql
这是我知道的一个老问题,但我今天遇到了这个问题,并相信上述解决方案已随 php:7.4-fpm-alpine 改变了
它曾经在哪里:
RUN apt-get update && apt-get install -y libpq-dev
现在应该是:
RUN apt-get update && apt-get install -y postgresql-dev
希望这对遇到同样问题的人有所帮助。
对于高山有帮助:
RUN apk add --no-cache postgresql-dev && \
docker-php-ext-install pdo pdo_pgsql