2016-09-22 69 views
1

我已经使用https://hub.docker.com/_/php/创建了码头集装箱。在码头集装箱中安装PHP 7扩展

我需要从这个容器连接到另一个运行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-pgsqlphp7.0-pgsql,并尝试添加一个行添加ppa:ondrej/php回购从没有运气拉。

大多数包失败(未能找到php7.0-pgsql之后,通过在码头工人建议甚至pdo-pgsql)安装,但试图建立一个PDO当奇数一个,它安装还是抛出一个错误的驱动程序都没有发现连接。

有没有正确的方法来获得安装在码头集装箱中的postgres的PDO驱动程序?

回答

0

确保扩展名符号链接在/etc/php/7/cli/conf.d或/etc/php/7/fpm/conf.d中 - 文件夹取决于您的发行版。

你可以找到,如果模块运行

php -m 
php7-fpm -m 

模块是否缺少,检查/ etc/PHP/7 /模块加载如果.ini文件是存在那里,符号链接,然后该模块应该被加载。