簡體   English   中英

無法在 php docker 鏡像中啟用 ldap 擴展

[英]cannot enable ldap extension in php docker image

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

php/wordpress 的 docker 鏡像不提供任何額外的 PHP 擴展或其他庫,即使流行插件需要它們。

有無數可能的插件,它們可能需要 PHP 支持的任何擴展。 包括每個存在的 PHP 擴展都會顯着增加圖像大小。

如果你需要額外的 PHP 擴展,你需要從這個鏡像創建你自己的鏡像。 php 圖像文檔解釋了如何編譯附加擴展。

此外, wordpress Dockerfile有一個這樣做的例子。

參見 docker/wordpress 文檔

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM