【问题标题】:Docker php set up installing pdo extensionDocker php 设置安装 pdo 扩展
【发布时间】:2016-09-05 02:30:15
【问题描述】:

我正在使用 docker 来构建我的开发环境,一个非常简单的环境,我只有 nginx 和 php-fpm。

所以在 docker docks 之后,我创建了一个 docker-compose.yml:

web:
image: nginx:latest
ports:
    - "80:80"
volumes:
    - ./code:/code
    - ./site.conf:/etc/nginx/conf.d/site.conf
links:
    - php

php: 图片:php:7-fpm 卷: - ./code:/code

所以这里发生了什么我调用 nginx 图像和 pgp-fpm 图像并将它们链接起来。

我还创建了一个 site.conf 文件:

server {
    index index.php;
    server_name php-docker.local;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /code;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
   }
}

所以这里是所有服务器的东西。

通过此设置,我已成功运行 phpinfo()。但是,当我添加我的应用程序代码时,我收到一个关于 pdo pdo_mysql 扩展的错误。所以我做了更多的研究,发现我需要一个 Dockerfile。

我创建了一个 docker 文件,并在其中添加了以下命令:

FROM php:7
RUN docker-php-ext-install pdo pdo_mysql

当然这不起作用,我的意思是它在哪里安装扩展以及我的 php-fpm 如何假设看到这些扩展...?

【问题讨论】:

  • 您是否查看过 Dockerhub 中 PHP 存储库中的文档:hub.docker.com/_/php?我已经用 apache 版本完成了这个,而不是 fpm。使用 apache 版本,您可以创建一个 Dockerfile 并安装任何 pre-reqs 和 RUN docker-php-ext-install pdo_mysql。我假设 FPM 有类似的方法,请参阅自述文件和相应的 github repo。
  • 你在运行docker-compose up -d之前运行过docker-compose build吗?

标签: php nginx pdo docker


【解决方案1】:

这个 Dockerfile 帮助我:

FROM php:fpm
RUN apt-get update \
  && apt-get install -y --no-install-recommends libpq-dev \
  && docker-php-ext-install mysqli pdo_pgsql pdo_mysql

这是我的 docker-composer.yml 的一部分

phpfpm:
  build: 
      context: ./php-fpm
      dockerfile: Dockerfile
  container_name: test-php-fpm
  links:
      - mysql
  volumes:
      - ./html:/usr/share/nginx/html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 2021-12-27
    • 1970-01-01
    • 2020-05-09
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多