Подтвердить что ты не робот

Как установить XDebug на официальное php-fpm-альпийское изображение docker?

Я использую wordpress:php7.1-fpm-alpine который основан на php:7.1-fpm-alpine (https://github.com/docker-library/wordpress/blob/master/php7.1/fpm-alpine/Dockerfile).

Я пробовал RUN pecl install xdebug-2.5.0 && docker-php-ext-enable xdebug

что приводит к ошибке при построении:

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.
4b9b3361

Ответ 1

Для простоты установки xdebug на этом изображении достаточно:

FROM wordpress:php7.1-fpm-alpine

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

Построение этого и последующего запуска из оболочки внутри результирующего изображения дает следующее:

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

Ответ 2

Если вас беспокоит размер изображения, вы можете удалить зависимости:

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

Ответ 3

Отличный ответ @msanchez_aplyca. Хотя правильнее удалить зависимости сборки через apk:

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