亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

PHP
www說 2023-08-06 15:56:32
知道如何在 dockerfile 中安裝 php Ldap 擴展嗎來自 php:7.2-fpm-alpine我嘗試了以下方法RUN docker-php-ext-configure ldap --prefix=/usr/local/php --with-ldap=/usr/lib/i386-linux-gnuRUN docker-php-ext-install ldap但是當我構建 docker 時,我收到錯誤消息配置:錯誤:找不到 ldap.h錯誤:服務“php”無法構建:命令“/bin/sh -c docker-php-ext-install ldap”返回非零代碼:1PS:這里是高山地區,所以“apt-get”在這里不起作用,而是“apk add”
查看完整描述

4 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

如果您遇到配置:錯誤:找不到 ldap.h 嘗試在基于 Alpine 的 Dockerfile 中添加此行

RUN apk add ldb-dev libldap openldap-dev


查看完整回答
反對 回復 2023-08-06
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

您需要使用 openldap-dev 來獲取 ldap.h 文件,以便使用 docker-php-ext-install 腳本安裝 ldap。

像這樣的東西有效:

FROM?php:8.0.2-fpm-alpine

RUN?apk?update?\
????&&?apk?add?--no-cache?--virtual?.build-dependencies-in-virtual-world?openldap-dev?\
????&&?docker-php-ext-install?ldap?\
????&&?docker-php-ext-enable??ldap?\
????&&?apk?del?.build-dependencies-in-virtual-world
查看完整回答
反對 回復 2023-08-06
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

這對我有用:


FROM php:7.4.9-fpm-alpine3.12

        

COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/bin/


# Install PHP extensions

RUN install-php-extensions ldap



查看完整回答
反對 回復 2023-08-06
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

使用以下 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


查看完整回答
反對 回復 2023-08-06
  • 4 回答
  • 0 關注
  • 366 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號