I have such Dockerfile for my php-container:
FROM my-image/debian
ARG PHP_VERSION
...
...
RUN
set -eux
# INSTALL SURY SOURCES
&& buildDeps='apt-transport-https lsb-release wget'
&& apt-get update
&& apt-get install -y --no-install-recommends --no-install-suggests $buildDeps
&& wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
&& echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list
&& update-ca-certificates
# INSTALL PHP PACKAGES
&& apt-get update
&& apt-get install -y --no-install-recommends --no-install-suggests
php$PHP_VERSION
php$PHP_VERSION-cli
php$PHP_VERSION-fpm
php$PHP_VERSION-opcache
php$PHP_VERSION-redis
php$PHP_VERSION-apcu
php$PHP_VERSION-zip zip unzip
php$PHP_VERSION-curl
php$PHP_VERSION-gd
php$PHP_VERSION-intl
php$PHP_VERSION-mysql
php$PHP_VERSION-soap
php$PHP_VERSION-amqp
php$PHP_VERSION-bcmath
php$PHP_VERSION-socket
php$PHP_VERSION-dom
php$PHP_VERSION-mbstring
php-pear
php$PHP_VERSION-dev
&& mkdir -p /var/run/
# Install xdebug
&& pecl install xdebug
&& docker-php-ext-enable xdebug
# CLEAN
&& apt-get clean
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps
&& rm -rf /var/lib/apt/lists/*
&& rm -rf /var/cache/apt/archives/*
&& rm -rf /tmp/*
....
....
....
when I build it, i get error
/bin/sh: 1: docker-php-ext-enable: not found
I don’t want to get image from alpine or other external php image. Cause particular reasons, i want to build php and have an hand from my-image/debian.
Could someone help me activate xdebug? It is well installed (via the pecl) but when I do php -v
it is not there, even after rebuild and restart of the containers
Thanks
2
Answers
Script
docker-php-ext-enable
by default does not exists in Debian images.You need co copy it into your docker-image like in official 7.3 buster image. Add to your
Dockerfile
string:Don’t forget to place docker-php-ext-enable file into build-context dir.
…Dockerfile
#Install Xdebug
RUN PECL INSTALL xdebug
&& docker-php-ext-enable xdebug
RUN chown notroot:notroot
/<path in docker container for dockerphp--ext-xdebug.ini
…docker-compose.yml
Prerequisites: You nned to have pecl installed previousy (higher in the Dockerfile)