在php7-fpm Docker容器中安装postgre驱动程序

时间:2017-07-08 08:01:43

标签: php postgresql docker

我使用docker-compose命令安装了PHP:latest Docker容器。它在我的Docker中安装了php-7.1.6-fpm。当我尝试安装php7-pgsql扩展程序时,无法找到该程序包,而是找到了pdopdo_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

我在Docker和第一天的实践经验中只有3天的理论知识。

感谢阅读。

2 个答案:

答案 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

希望这可以帮助遇到相同问题的任何人。