如何在Debian Docker镜像中配置PHP 7 - Apache与MySQL PDO驱动程序?

时间:2016-02-19 08:08:13

标签: mysql apache pdo docker php-7

我正在使用PHP 7(7.0.3-Apache)和MySql(5.7.10)的官方docker镜像。 使用docker-compose,从图像创建容器并链接它们。

https://github.com/php/php-src/blob/php-7.0.3/php.ini-production复制php.ini,用替换 dll 扩展并将该文件放在 / usr / local / etc / php < / em>并启用了_pdo_mysql_扩展名。 extension=php_pdo_mysql.so

phpinfo 显示 php.ini 已加载但未加载 pdo_mysql ,因为它未安装。

我用Google搜索并尝试使用apt-get install的不同扩展名: php-mysqlphp7-mysqlphp7.0-mysqlphp7.0.3-mysql

它们都不起作用。错误说:E: Unable to locate package

使用php5-mysql,它已安装但在使用命令docker kill --signal="USR1" <container-name>重新启动apache后,扩展名未显示在 php.ini 中加载。

(不要认为它与码头工人有多大关系,但我现在是码头工人的新手,现在就尝试使用它,所以在这里提一下。)

任何人都可以帮助使用 php7-Apache 配置 pdo_mysql 扩展名吗?

1 个答案:

答案 0 :(得分:6)

您需要在docker镜像上的/etc/apt/sources.list中使用Dotdeb存储库:

FROM php:7-apache

# Install pdo_mysql
RUN apt-get update \
  && echo 'deb http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list \
  && echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list \
  && apt-get install -y wget \
  && wget https://www.dotdeb.org/dotdeb.gpg \
  && apt-key add dotdeb.gpg \
  && apt-get update \
  && apt-get install -y php7.0-mysql \
  && docker-php-ext-install pdo_mysql