我只是想尝试一个简单的docker dev环境设置,但是docker没有安装php的mysql扩展。我得到一个致命的错误 - 调用未定义的函数mysql_connect()。我尝试过不同的php版本(5.4,5.5,5.6,7.0)都具有相同的结果。任何帮助将不胜感激。
搬运工-compose.yml
version: '2'
volumes:
database_data:
driver: local
services:
nginx:
image: nginx:latest
ports:
- 8080:80
volumes:
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
volumes_from:
- php
php:
build: ./docker/php/
expose:
- 9000
volumes:
- .:/var/www/html
testing:
build: ./docker/php/
volumes_from:
- php
mysql:
image: mysql:latest
expose:
- 3306
volumes:
- database_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: project
MYSQL_USER: project
MYSQL_PASSWORD: project
Dockerfile
FROM php:7.0-fpm
# 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 mysqli mysql
答案 0 :(得分:3)
如果你安装这个php扩展工程(在dockerfile里面)
docker-php-ext-install mysqli
内部容器:
docker-php-ext-install mysqli
apache2ctl restart
答案 1 :(得分:2)
我查看了WP Docker repo,并使用了他们的php Dockerfile,它运行良好。
# install the PHP extensions we need
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev && rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
&& docker-php-ext-install gd
RUN docker-php-ext-install mysqli