首页 > 解决方案 > 无法在 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

标签: phpwordpressdockerldapdockerfile

解决方案


php/wordpress 的 docker 镜像不提供任何额外的 PHP 扩展或其他库,即使流行插件需要它们。

有无数可能的插件,它们可能需要 PHP 支持的任何扩展。包括存在的每个 PHP 扩展都会显着增加图像大小。

如果您需要额外的 PHP 扩展,您需要从这个创建自己的图像。php 图像的文档解释了如何编译附加扩展。

此外,wordpress Dockerfile有一个这样做的例子。

参看。码头工人/wordpress 文档


推荐阅读