我使用https://hub.docker.com/_/php/创建了一个docker容器。
我需要从这个容器连接到另一个运行postgres(https://hub.docker.com/_/postgres/)的容器。但是,我似乎无法正确安装用于postgres的PHP 7 PDO驱动程序。
这是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
我已经尝试了pdo-pgsql
,php7.0-pgsql
,并尝试添加一行来添加ppa:ondrej/php
回购以免拉扯。
大多数软件包都无法安装(即使pdo-pgsql
无法找到php7.0-pgsql
后由docker建议,但是安装错误的软件包仍然会引发错误,驱动程序不是&#39} ; t在尝试创建PDO
连接时找到。
是否有正确的方法可以在docker容器中安装postgres的PDO驱动程序?
答案 0 :(得分:0)
确保扩展名在/etc/php/7/cli/conf.d或/etc/php/7/fpm/conf.d中符号链接 - 文件夹取决于您的发行版。
您可以通过运行
来确定模块是否已加载php -m
php7-fpm -m
如果模块丢失,检查/ etc / php / 7 / modules是否存在.ini文件并对其进行符号链接,然后模块应该加载。