Wie installiere ich XDebug auf dem offiziellen php-fpm-alpine-Image von Docker?

Lesezeit: 3 Minuten

Ich benutze wordpress:php7.1-fpm-alpine auf dem basiert php:7.1-fpm-alpine (https://github.com/docker-library/wordpress/blob/master/php7.1/fpm-alpine/Dockerfile).

ich habe es versucht RUN pecl install xdebug-2.5.0 && docker-php-ext-enable xdebug

was zu einem Fehler beim Erstellen führt:

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.

  • Habe die Lösung angeboten an github.com/docker-library/wordpress/issues/244 Arbeit?

    – Gordon

    19. Oktober 2017 um 8:38 Uhr

  • Nun, ich glaube nicht wirklich, dass das die vollständige Lösung ist. Ich müsste alle Abhängigkeiten ermitteln.

    – Chris Stryczynski

    19. Oktober 2017 um 9:00 Uhr

Folgendes reicht aus, um xdebug einfach auf diesem Image zu installieren:

FROM wordpress:php7.1-fpm-alpine

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

Das zu bauen und dann von einer Shell innerhalb des resultierenden Bildes auszuführen, erzeugt Folgendes:

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

  • Wenn Sie ein nicht auf Alpine basierendes Basisimage verwenden, verwenden Sie apt anstelle von apk, z RUN apt -qy install $PHPIZE_DEPS && pecl install xdebug-2.5.0 && docker-php-ext-enable xdebug

    – DomQ

    3. September 2019 um 14:32 Uhr


  • In meinem Fall läuft es perfekt mit CLI, aber nicht mit FPM. Daher die php -i gibt nicht das ganze Bild wieder. Ich versuche immer noch, es herauszufinden, wenn jemand einen Rat hat.

    – Kamafeder

    23. Februar 2021 um 12:58 Uhr

  • Ich hasse es, dass phpize und $PHPIZE_DEPS werden auf der Docker-Hub-Seite nie erwähnt.

    – Leonardo Raele

    25. März 2021 um 0:26 Uhr

  • Denken Sie für Benutzer von php:7.3-fpm-alpine und höher daran, „-2.5.0“ aus dem xdebug-Paket zu entfernen. Also statt reinstecken install xdebug-2.5.0hast du eingegeben install xdebug

    – Martin

    14. Juni 2021 um 16:13 Uhr


  • Anstatt 2.5.0 zu entfernen, würde ich vorschlagen, es auf 3.0.4 zu aktualisieren (pecl.php.net/package/xdebug), damit Sie immer noch wissen, welche Version Sie erhalten, und einen expliziten Ort haben, an dem Sie einen natürlichen Cache-Bust erstellen können, wenn Sie ihn aktualisieren müssen / möchten.

    – tiano

    15. Juni 2021 um 18:37 Uhr

Wenn Sie Bedenken hinsichtlich der Bildgröße haben, können Sie die Abhängigkeiten entfernen:

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

  • Wunderbare Antwort.

    – Hübscher Nerd

    19. April 2020 um 8:03 Uhr

Tolle Antwort @msanchez_aplyca. Obwohl es korrekter ist, die Build-Abhängigkeiten über zu entfernen apk wäre:

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

Benutzer-Avatar
Jesus Iniesta

Für PHP >= 7.2 müssen Sie Xdebug 2.6.0+ verwenden

Installieren Sie beispielsweise Xdebug 3.0.0 (veröffentlicht am 25. November 2020)

Kompatibel mit PHP 8.0

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

Jetzt richten Sie es ein, indem Sie etwas hinzufügen wie (mit Xdebug 3.0.0-Syntax, mehr Infos hier):

# Configure Xdebug
RUN echo "xdebug.start_with_request=yes" >> /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.log=/var/www/html/xdebug/xdebug.log" >> /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.discover_client_host=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.client_port=9000" >> /usr/local/etc/php/conf.d/xdebug.ini

1215910cookie-checkWie installiere ich XDebug auf dem offiziellen php-fpm-alpine-Image von Docker?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy