docker安装并启用php扩展

时间:2016-08-31 14:15:19

标签: php symfony docker

我尝试将Docker用于我的Symfony3项目我运行但是我收到了这个错误:

The LDAP PHP extension is not enabled.

听起来不对,因为我正在为我的项目使用Ldap扩展。我已经尝试使用Dockerfile为我的php映像安装Ldap扩展,这似乎安装它但仍然给我这个错误。

Q1)如何在php图片中安装所需的php扩展。 Q2)安装扩展后如何启用它。

搬运工-compose.yml:

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

php:
    image: php:5.6-fpm
    volumes:
        - ./project_code:/var/www/project

Dockerfile:

FROM php:5.6-fpm

RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install php5-ldap -y

2 个答案:

答案 0 :(得分:0)

您需要将docker-compose.yml指向包含Dockerfile的目录。然后,它根据此Dockerfile构建您的单个图像,并根据需要在docker-compose中链接它。

所以你必须修改你的docker-compose.yml。让我们假设您已将Dockerfile存储在与docker-compose.yml文件相同的目录中。然后你必须按如下方式改变它:

version: '2'                              # <--
web:
  image: nginx:latest
  ports:
    - "80:80"
  volumes:
    - ./site.conf:/etc/nginx/conf.d/site.conf
 project files
   volumes_from:
     - php
   links:
     - php

php:
  build: .                                # <--
  volumes:
    - ./project_code:/var/www/project

这将构建Dockerfile中定义的镜像(目前您的Dockerfile被docker-compose.yml文件忽略)。然后,您必须添加到Dockerfile如何启用您的php模块。

答案 1 :(得分:0)

如果找不到php -i | grep php.ini的php.ini

在docker中,有两个php.ini文件:php.ini-developmentphp.ini-production https://docs.docker.com/samples/library/php/