首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php docker镜像中启用pdo_mysql

问如何在php docker镜像中启用pdo_mysql
EN

Stack Overflow用户
提问于 2017-06-17 19:15:28
回答 4查看 35.6K关注 0票数 26

我有一个基本的Dockerfile,其中包含以下内容:

代码语言:javascript
复制
FROM php:7.1-apache
RUN apt-get update && docker-php-ext-install pdo_mysql
COPY . /var/www
EXPOSE 80

我有一个docker-compose.yml文件

代码语言:javascript
复制
version: "3"
services:
  app:
    build: .
    ports:
      - "80:80"
    volumes:
      - .:/var/www
    depends_on:
      - mysql
  mysql:
    image: mysql:8
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: "app"
      MYSQL_USER: "app"
      MYSQL_PASSWORD: "app"
      MYSQL_ROOT_PASSWORD: "test"

然后,我在项目的根目录下运行docker build -t app . && docker-compose up。一切似乎都正确构建,但是在输出phpinfo时,我看不到mysql_pdo扩展。

​

​

我有没有遗漏什么步骤?

EN

回答 4

Stack Overflow用户

发布于 2017-06-17 19:19:56

我使用的docker文件是...

代码语言:javascript
复制
FROM php:7.1-apache
COPY apache2.conf /etc/apache2
RUN docker-php-ext-install mysqli pdo pdo_mysql

请注意其中的mysqli和pdo,以允许PDO/mysql位。

票数 33
EN

Stack Overflow用户

发布于 2017-06-20 02:22:44

有一个similar error in docker php issue 62

,因为我需要删除旧的镜像并重新构建它们。

因为我下载了图像,然后编辑了它。因此,我需要删除旧映像并重新构建它,以便应用更改。

docker rm只删除容器。确保在此之前也删除了您的图像。

还要检查Dockerfile like this one是否可能更健壮/更完整:

代码语言:javascript
复制
# PHP extensions
RUN \
    docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \
    && docker-php-ext-configure mysqli --with-mysqli=mysqlnd \
    && docker-php-ext-install pdo_mysql \
    ...
票数 5
EN

Stack Overflow用户

发布于 2019-12-12 17:27:34

要启用PDO和mysqli扩展来连接MySQL,请在Dockerfile中添加:

代码语言:javascript
复制
RUN docker-php-ext-install pdo pdo_mysql
# for mysqli if you want
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

有关如何创建的更多信息,请访问此Page

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44603941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档