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

Kul*_*ksi 2 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 ,用so替换了dll扩展,并将该文件放在/ usr/local/etc /中php并启用了_pdo_mysql_扩展名. extension=php_pdo_mysql.so

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

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

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

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

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

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

ImL*_*Leo 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
Run Code Online (Sandbox Code Playgroud)