2016-10-19 14 views
2

私はララドックでドッカーをセットアップしました。Laradock:php7 ldapサポート拡張を有効にする/インストールする方法は?

私は次のパッケージ

"adldap2/adldap2-laravel": "^2.1" 

を使用しています、私は次のエラーを取得する:

Call to undefined function Adldap\ldap_explode_dn() 

は、私は私のドッキングウィンドウのワークスペースを入力し、それをインストールしようとするべきでしょうか?

docker-compose exec workspace bash 

どうすればインストールできますか? apt-getまたはapt-cacheからphp7.0-ldapパッケージを見つけることができないようです...

ドッカーの作成またはドッカーファイルのいずれかを編集することは可能ですか? ?(PHP-FPM/Dockerfile-70

EDIT:提供溶液(DockerFile-70全内容)

# 
#-------------------------------------------------------------------------- 
# Image Setup 
#-------------------------------------------------------------------------- 
# 
# To edit the 'php-fpm' base Image, visit its repository on Github 
# https://github.com/LaraDock/php-fpm 
# 
# To change its version, see the available Tags on the Docker Hub: 
# https://hub.docker.com/r/laradock/php-fpm/tags/ 
# 

FROM laradock/php-fpm:7.0--1.2 

MAINTAINER Mahmoud Zalt <[email protected]> 

# 
#-------------------------------------------------------------------------- 
# Mandatory Software's Installation 
#-------------------------------------------------------------------------- 
# 
# Mandatory Software's such as ("mcrypt", "pdo_mysql", "libssl-dev", ....) 
# are installed on the base image 'laradock/php-fpm' image. If you want 
# to add more Software's or remove existing one, you need to edit the 
# base image (https://github.com/LaraDock/php-fpm). 
# 

# 
#-------------------------------------------------------------------------- 
# Optional Software's Installation 
#-------------------------------------------------------------------------- 
# 
# Optional Software's will only be installed if you set them to `true` 
# in the `docker-compose.yml` before the build. 
# Example: 
# - INSTALL_ZIP_ARCHIVE=true 
# - ... 
# 

##################################### 
# xDebug: 
##################################### 

ARG INSTALL_XDEBUG=false 
RUN if [ ${INSTALL_XDEBUG} = true ]; then \ 
    # Install the xdebug extension 
    pecl install xdebug && \ 
    docker-php-ext-enable xdebug \ 
;fi 

# Copy xdebug configration for remote debugging 
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini 

##################################### 
# MongoDB: 
##################################### 

ARG INSTALL_MONGO=false 
RUN if [ ${INSTALL_MONGO} = true ]; then \ 
    # Install the mongodb extension 
    pecl install mongodb && \ 
    docker-php-ext-enable mongodb \ 
;fi 

##################################### 
# ZipArchive: 
##################################### 

ARG INSTALL_ZIP_ARCHIVE=false 
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ 
    # Install the zip extension 
    pecl install zip && \ 
    docker-php-ext-enable zip \ 
;fi 

##################################### 
# PHP Memcached: 
##################################### 

ARG INSTALL_MEMCACHED=false 
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ 
    # Install the php memcached extension 
    curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \ 
    && mkdir -p memcached \ 
    && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \ 
    && (\ 
     cd memcached \ 
     && phpize \ 
     && ./configure \ 
     && make -j$(nproc) \ 
     && make install \ 
    ) \ 
    && rm -r memcached \ 
    && rm /tmp/memcached.tar.gz \ 
    && docker-php-ext-enable memcached \ 
;fi 

##################################### 
# PHP Aerospike: 
##################################### 

ARG INSTALL_AEROSPIKE_EXTENSION=false 
ENV INSTALL_AEROSPIKE_EXTENSION ${INSTALL_AEROSPIKE_EXTENSION} 
# Copy aerospike configration for remote debugging 
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini 
RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \ 
    # Install the php aerospike extension 
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/luciano-jr/aerospike-client-php/archive/ master.tar.gz" \ 
    && mkdir -p aerospike-client-php \ 
    && tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \ 
    && (\ 
     cd aerospike-client-php/src/aerospike \ 
     && phpize \ 
     && ./build.sh \ 
     && make install \ 
    ) \ 
    && rm /tmp/aerospike-client-php.tar.gz \ 
;fi 

##################################### 
# Opcache: 
##################################### 
ARG INSTALL_OPCACHE=false 
RUN if [ ${INSTALL_OPCACHE} = true ]; then \ 
    docker-php-ext-install opcache && \ 
    docker-php-ext-enable opcache \ 
;fi 

# Copy opcache configration 
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini 

##################################### 
# LDAP: 
##################################### 
RUN \ 
    apt-get update && \ 
    apt-get install libldap2-dev -y && \ 
    #rm -rf /var/lib/apt/lists/* && \ 
    docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ 
    docker-php-ext-install ldap 



# 
#-------------------------------------------------------------------------- 
# Final Touch 
#-------------------------------------------------------------------------- 
# 

ADD ./laravel.ini /usr/local/etc/php/conf.d 
ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/ 

RUN rm -r /var/lib/apt/lists/* 

RUN usermod -u 1000 www-data 

WORKDIR /var/www/laravel 

CMD ["php-fpm"] 

EXPOSE 9000 

答えて

6
このうち

チェック:

https://github.com/docker-library/php/issues/75

基本的にはあなたが必要あなたのphp-fpmドッカーファイル:

RUN \ 
    apt-get update && \ 
    apt-get install libldap2-dev -y && \ 
    rm -rf /var/lib/apt/lists/* && \ 
    docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ 
    docker-php-ext-install ldap 
+0

私はsnippentでphp-fpm/Dockerfile-70を更新しました。 rm -rf/var/lib/apt/lists/* && \はエラーを引き起こすようです。それは私が編集後にphp-fpmをビルドさせません:: rm: '/ var/lib/apt/lists/*'を削除できません:そのようなファイルやディレクトリはありません – koalaok

+0

@koalaokサイズを抑えるクリーンアップタスク。なぜそれがうまくいかないのか分かりません。あなたの完全なDockerfileはどのように見えますか? – ChadSikorra

+0

最新のlaradock git repoで一般的なDockerfile-70です。とにかく、その行はすでにいくつかの行が下にあることに気付きました。 "最後のタッチ"。 Dockerfile 70を私の質問に編集形式で貼り付けます – koalaok

関連する問題