web-dev-qa-db-fra.com

Comment installer XDebug sur l'image php-fpm-Alpine officielle de Docker?

J'utilise wordpress:php7.1-fpm-Alpine qui est basé sur php:7.1-fpm-Alpine ( https://github.com/docker-library/wordpress/blob/master/php7.1/fpm-Alpine/Dockerfile ).

J'ai essayé RUN pecl install xdebug-2.5.0 && docker-php-ext-enable xdebug

ce qui entraîne une erreur lors de la construction:

Step 19/19 : RUN pecl install xdebug-2.5.0     && docker-php-ext-enable xdebug
 ---> Running in 52c988e12cb2
downloading xdebug-2.5.0.tgz ...
Starting to download xdebug-2.5.0.tgz (267,640 bytes)
........................................................done: 267,640 bytes
76 source files, building
running: phpize
Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
17
Chris Stryczynski

Ce qui suit suffit pour installer simplement xdebug sur cette image:

FROM wordpress:php7.1-fpm-Alpine

RUN apk add --no-cache $PHPIZE_DEPS \
    && pecl install xdebug-2.5.0 \
    && docker-php-ext-enable xdebug

Construire cela puis exécuter à partir d'un shell à l'intérieur de l'image résultante produit ce qui suit:

$ php -i | grep Xdebug
    with Xdebug v2.5.0, Copyright (c) 2002-2016, by Derick Rethans
33
tianon

Si vous êtes préoccupé par la taille de l'image, vous pouvez supprimer les dépendances:

FROM wordpress:php7.1-fpm-Alpine 
RUN apk --update --no-cache add autoconf g++ make && \
    pecl install -f xdebug && \
    docker-php-ext-enable xdebug && \
    apk del --purge autoconf g++ make
10
Mauricio Sánchez

Grande réponse @msanchez_aplyca. Bien que supprimer plus correctement les dépendances de génération via apk serait:

RUN apk add --no-cache --virtual .build-deps $PHPIZE_DEPS \
    && pecl install xdebug-2.5.0 \
    && docker-php-ext-enable xdebug \
    && apk del -f .build-deps
1
AndrewMcLagan