无法在 php docker 映像中启用 ldap 扩展

我正在使用 docker 图像来构建一个 wordpress 网站。它使用 3 个图像,php、wordpress 和 mysql。我正在使用的插件之一需要安装并启用 ldap 扩展。当我尝试激活插件时,它一直说 ldap 未安装。我被卡住了,需要帮助才能让它工作。


这是 yaml 文件。


            version: '3.3'


            services:

               php:

                 build: .

               wordpress:

                 depends_on:

                   - db

                 image: wordpress:latest

                 volumes:

                   - wordpress_files:/var/www/html

                 ports:

                   - "80:80"

                 restart: always

                 environment:

                   WORDPRESS_DB_HOST: db:3306

                   WORDPRESS_DB_USER: wordpress

                   WORDPRESS_DB_PASSWORD: 11111111


               db:

                 image: mysql:5.7

                 volumes:

                   - db_data:/var/lib/mysql

                 restart: always

                 environment:

                   MYSQL_ROOT_PASSWORD: 11111111

                   MYSQL_DATABASE: wordpress

                   MYSQL_USER: wordpress

                   MYSQL_PASSWORD: 11111111

            volumes:

                wordpress_files:

                db_data:

这是 php docker 镜像文件。


            FROM php:7.4.1-fpm


            RUN \

                apt-get update && \

                apt-get install -y libicu-dev && \

                apt-get install libldap2-dev -y && \

                docker-php-ext-install intl && \

                docker-php-ext-enable intl && \ 

                docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \

                docker-php-ext-install ldap && \

                docker-php-ext-enable ldap


莫回无
浏览 118回答 2
2回答

小唯快跑啊

php/wordpress 的 docker 镜像不提供任何额外的 PHP 扩展或其他库,即使流行插件需要它们。有无数可能的插件,它们可能需要 PHP 支持的任何扩展。包括存在的每个 PHP 扩展都会显着增加图像大小。如果您需要额外的 PHP 扩展,您需要从这个创建自己的图像。php 图像的文档解释了如何编译附加扩展。此外,wordpress Dockerfile有一个这样做的例子。参看。码头工人/wordpress 文档

Qyouu

您没有在 docker-compose.yml 中使用 Dockerfile在 docker-compose.yml 中尝试以下操作:wordpress:  depends_on:    - db  image:     context: .    dockerfile: relative/path/to/your/Dockerfile  container_name: wordpress  volumes:    - wordpress_files:/var/www/html  ports:    - "80:80"  restart: always  environment:    WORDPRESS_DB_HOST: db:3306    WORDPRESS_DB_USER: wordpress    WORDPRESS_DB_PASSWORD: 11111111
打开App,查看更多内容
随时随地看视频慕课网APP