【问题标题】:cannot enable ldap extension in php docker image无法在 php docker 映像中启用 ldap 扩展
【发布时间】:2020-01-07 16:10:52
【问题描述】:

我正在使用 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

【问题讨论】:

  • 哪个插件没有安装?
  • 图片 wordpress:未找到最新的 ldap
  • php -m [PHP Modules] bcmath Core ctype curl date dom exif fileinfo filter ftp gd hash iconv imagick json libxml mbstring mysqli mysqlnd openssl pcre PDO pdo_sqlite Phar posix readline Reflection session SimpleXML sodium SPL sqlite3 standard tokenizer xml xmlreader xmlwriter Zend OPcache zip zlib [Zend 模块] Zend OPcache
  • link 阅读“添加其他库/扩展”

标签: php wordpress docker ldap dockerfile


【解决方案1】:

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

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

如果您需要额外的 PHP 扩展,您需要创建自己的 图片来自这个。 documentation of the php image 解释了如何 编译额外的扩展。

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

参见。 docker/wordpress documentation

【讨论】:

    【解决方案2】:

    您没有在 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
    

    【讨论】:

      猜你喜欢
      • 2023-01-14
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 2021-03-23
      • 2021-12-27
      • 2019-11-18
      • 2020-04-11
      • 1970-01-01
      相关资源
      最近更新 更多