我尝试将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
答案 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-development
和php.ini-production
https://docs.docker.com/samples/library/php/