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

标签 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

我只有 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 - 在 php7-fpm Docker 容器中安装 Postgres 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44983961/

相关文章:

php - 在 PHP 中创建一个 Catch-All 处理程序?

php - 图像未显示在使用 dompdf 的 PDF 文件中

java - 将 json 数据存储到数据库的最佳实践

python - 如何使用复制到 docker 容器的 python 虚拟环境

docker - Gitlab CE引发错误,Web IDE卡在nginx反向pxy(jwilder)后面

javascript - 使用ajax jquery刷新页面而不使用重新加载功能

附加了 ":"和 "?"的 PHP 函数,它有什么作用?

database - 将序列化数组转换为 PSQL 数组,错误

mysql - OCaml 的数据库绑定(bind)?

docker - 了解多阶段 Dockerfile 的工作流程