在Docker容器中安装PHP 7扩展
我使用https://hub.docker.com/_/php/创build了一个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
回购从没有运气拉。
大部分的软件包安装失败(甚至是php7.0-pgsql
在找不到php7.0-pgsql
提示的pdo-pgsql
),但是奇怪的安装仍然会抛出一个错误,那就是在创build时没有find驱动程序一个PDO
连接。
有没有一种正确的方法来获得安装在docker集装箱中的postgres的PDO驱动程序?
确保扩展名符号链接在/etc/php/7/cli/conf.d或/etc/php/7/fpm/conf.d中 – 文件夹取决于你的发行版。
你可以看看模块是否通过运行加载
php -m php7-fpm -m
如果模块丢失,请检查/ etc / php / 7 /模块,如果.ini文件存在并符号链接,则模块应该加载。