невозможно включить расширение ldap в php docker изображении - PullRequest
0 голосов
/ 07 января 2020

Я использую 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

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Вы не используете файл Docker в своем docker -compose.yml

, попробуйте следующее в 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
0 голосов
/ 08 января 2020

Образ docker для php / wordpress не предоставляет никаких дополнительных расширений PHP или других библиотек, даже если они требуются популярными плагинами.

Существует бесконечное количество возможных плагинов, и для них может потребоваться любое расширение PHP. Включение каждого существующего расширения PHP значительно увеличит размер изображения.

Если вам нужны дополнительные расширения PHP, вам необходимо создать собственное изображение ИЗ этого. Документация php image объясняет, как скомпилировать дополнительные расширения.

Кроме того, в wordpress Dockerfile есть пример этого:

ср. Докер / WordPress документация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...