我使用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
我在Docker和第一天的实践经验中只有3天的理论知识。
感谢阅读。
答案 0 :(得分:5)
当我设置一个使用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
希望这会有所帮助;)
答案 1 :(得分:0)
这是我知道的一个老问题,但我今天遇到了这个问题,并相信上述解决方案已随着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
希望这可以帮助遇到相同问题的任何人。