I have this dockerfile for my phpunit container:
FROM php:8.1-fpm-alpine
WORKDIR /var/www/html
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ --allow-untrusted gnu-libiconv
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
ENV PHP_MEMORY_LIMIT=1G
ENV PHP_UPLOAD_MAX_FILESIZE: 512M
ENV PHP_POST_MAX_SIZE: 512M
RUN docker-php-ext-install pdo
RUN apk add --no-cache libpng libpng-dev && docker-php-ext-install gd && apk del libpng-dev
RUN apk update
&& apk upgrade
&& apk add --no-cache
freetype
libpng
libjpeg-turbo
freetype-dev
libpng-dev
jpeg-dev
libwebp-dev
libjpeg
libjpeg-turbo-dev
RUN docker-php-ext-configure gd
--with-freetype=/usr/lib/
--with-jpeg=/usr/lib/
--with-webp=/usr
RUN NUMPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1)
&& docker-php-ext-install -j${NUMPROC} gd
RUN apk add --no-cache sqlite-libs
RUN apk add --no-cache icu sqlite git openssh zip
RUN apk add --no-cache --virtual .build-deps icu-dev libxml2-dev sqlite-dev curl-dev
RUN docker-php-ext-install
bcmath
curl
ctype
intl
pdo
pdo_sqlite
xml
RUN apk del .build-deps
RUN docker-php-ext-enable pdo_sqlite
RUN apk add php81-pecl-xdebug
RUN docker-php-ext-enable xdebug
And the output is:
Step 19/22 : RUN apk add php81-pecl-xdebug
---> Using cache
---> 2108d3d7b95d
Step 20/22 : RUN docker-php-ext-enable xdebug
---> Running in 443d625bb28d
error: 'xdebug' does not exist
usage: /usr/local/bin/docker-php-ext-enable [options] module-name [module-name ...]
ie: /usr/local/bin/docker-php-ext-enable gd mysqli
/usr/local/bin/docker-php-ext-enable pdo pdo_mysql
/usr/local/bin/docker-php-ext-enable --ini-name 0-apc.ini apcu apc
Possible values for module-name:
bcmath.so ctype.so curl.so gd.so intl.so opcache.so pdo.so pdo_sqlite.so sodium.so xml.so
Some of the above modules are already compiled into PHP; please check
the output of "php -i" to see which modules are already loaded.
ERROR: Service 'phpunit' failed to build: The command '/bin/sh -c docker-php-ext-enable xdebug' returned a non-zero code: 1
What is the problem here? As I see the xdebug package has benne installed successfully and the docker-php-ext-enable xdebug
command still not see the xdebug extension.
I checked it with php -i
and the xdebug isn’t listed there.
How can I solve this issue?
2
Answers
Thanks for ArmiMousavi & Derick's help here is a working final configuration. I just exploded one liner command to separated
RUN
to debug build issues.try this one and remove :
and instead replace with:
and then:
and then let me know about the result