如何在Docker php-fpm alpine中安装LDAP

贾里姆·埃萨维(Kareem Essawy)

任何想法我如何在dockerfile中安装php Ldap扩展

来自php:7.2-fpm-alpine

我尝试了以下

RUN docker-php-ext-configure ldap --prefix=/usr/local/php --with-ldap=/usr/lib/i386-linux-gnu
RUN docker-php-ext-install ldap

但是当我构建docker时,我收到错误消息

配置:错误:找不到ldap.h

错误:服务'php'生成失败:命令'/ bin / sh -c docker-php-ext-install ldap'返回非零代码:1

PS:它是高山的,所以“ apt-get”在这里不起作用,而是“ apk add”

贾里姆·埃萨维(Kareem Essawy)

使用以下dockerfile进行了修复:

FROM php:7.2-fpm-alpine

# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# lumen packages
RUN apk add openldap-back-mdb
RUN apk add --update --virtual .build-deps autoconf g++ make zlib-dev curl-dev libidn2-dev libevent-dev icu-dev libidn-dev openldap libxml2-dev

RUN docker-php-ext-install intl soap
RUN docker-php-ext-install mbstring tokenizer mysqli pdo_mysql json hash iconv
RUN apk --update --no-cache add php7-ldap libldap php-ldap  openldap-clients openldap openldap-back-mdb

RUN apk add --no-cache ldb-dev
RUN ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so \
&& ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so
#RUN docker-php-ext-configure ldap --prefix=/usr/local/php --with-ldap=/usr/lib/libldap.so
#RUN docker-php-ext-install ldap
ARG DOCKER_PHP_ENABLE_LDAP

RUN echo -n "With ldap support:          " ; if [[ "${DOCKER_PHP_ENABLE_LDAP}" = "on" ]] ;      then echo "Yes"; else echo "No" ; fi && \
    if [ -z ${DOCKER_USER_UID+x} ]; then echo "DOCKER_USER_UID is unset"; DOCKER_USER_UID=1000; else echo "DOCKER_USER_UID is set to '$DOCKER_USER_UID'"; fi && \
    if [ -z ${DOCKER_USER_GID+x} ]; then echo "DOCKER_USER_GID is unset"; DOCKER_USER_GID=1000; else echo "DOCKER_USER_GID is set to '$DOCKER_USER_GID'"; fi

# Enable LDAP
RUN if [ "${DOCKER_PHP_ENABLE_LDAP}" != "off" ]; then \
      # Dependancy for ldap \
      apk add --update --no-cache \
          libldap && \
      # Build dependancy for ldap \
      apk add --update --no-cache --virtual .docker-php-ldap-dependancies \
          openldap-dev && \
      docker-php-ext-configure ldap && \
      docker-php-ext-install ldap && \
      apk del .docker-php-ldap-dependancies && \
      php -m; \
    else \
      echo "Skip ldap support"; \
    fi




RUN pecl install raphf propro
RUN docker-php-ext-enable raphf propro
RUN pecl install pecl_http
RUN echo -e "extension=raphf.so\nextension=propro.so\nextension=iconv.so\nextension=http.so" > /usr/local/etc/php/conf.d/docker-php-ext-http.ini
RUN rm -rf /usr/local/etc/php/conf.d/docker-php-ext-raphf.ini
RUN rm -rf /usr/local/etc/php/conf.d/docker-php-ext-propro.ini
RUN rm -rf /tmp/*


COPY ./app /var/www/html/

RUN chown -R www-data:www-data /var/www/html/
RUN chmod -R 755 /var/www/html/

WORKDIR /var/www/html/
RUN composer install

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在php:7.2-fpm-alpine自定义docker映像中安装xmlreader所需的库是什么?

来自分类Dev

默认情况下,如何在Docker容器中启动php-fpm?

来自分类Dev

Docker中的Nginx和php-fpm

来自分类Dev

如何在12.04上安装PHP-FPM 5.4?

来自分类Dev

如何在12.04上安装PHP-FPM 5.4?

来自分类Dev

如何在zabbix中监视PHP-FPM?

来自分类Dev

如何在Dockerfile中启动PHP7.0-FPM?

来自分类Dev

使用Docker安装PHP7 fpm和memcached

来自分类Dev

Docker:如何更改 php-fpm conf

来自分类Dev

php-fpm和Nginx在docker容器中的性能

来自分类Dev

让 nginx 与 docker 中的 php-fpm 完美配合

来自分类Dev

如何在 Ubuntu 18.04 服务器的全新安装上安装 PHP-FPM

来自分类Dev

如何在单个命令行中杀死所有PHP-FPM进程

来自分类Dev

如何在Docker容器上部署php-fpm和在localhost(Ubuntu)上部署apache / nginx

来自分类Dev

覆盖PHP-FPM中的PHP设置

来自分类Dev

覆盖PHP-FPM中的PHP设置

来自分类Dev

用于 nginx 和 php-fpm 的 Docker

来自分类Dev

docker 上的 NginX 和 Php-Fpm

来自分类Dev

CentOS:无法安装PHP-FPM

来自分类Dev

PHP从构建中安装httpd而不是FPM

来自分类Dev

PHP-FPM NGinx Pthreads Linux安装

来自分类Dev

php-fpm安装不正确

来自分类常见问题

如何正确链接php-fpm和Nginx Docker容器?

来自分类Dev

在Docker和PHP-FPM中找不到PHP date.timezone

来自分类Dev

docker 中的 nginx 和 php-fpm:无法 finx index.php

来自分类Dev

Docker php-fpm + nginx / 有时在 php 文件中找不到文件

来自分类Dev

如何在不安装Apache 2的情况下(在LEMP计算机上)卸载php7.2-fpm

来自分类Dev

strace php-fpm过程如何?

来自分类Dev

如何在RHEL 7.2上使用php-fpm?