Search code examples
phpdockerinstallationxdebug

Installing XDebug in Docker


I'm trying to install the XDebug in a Docker container, but I'm getting the following error:

E: Unable to locate package php-xdebug

This is my Dockerfile:

FROM php:7.0-apache

RUN a2enmod rewrite

RUN docker-php-ext-install pdo pdo_mysql

RUN apt-get install php-xdebug -y

COPY php.ini /usr/local/etc/php/
COPY . /var/www/html/

When I'm running the same command in my computer, the XDebug is getting installed without any error:

apt-get install php-xdebug

Where might the problem be?


Solution

  • I solved this by adding the following lines into my Docker file:

    # "xdebug-2.9.0" for PHP<=7.4 — "xdebug" (3) for PHP>=8
    ARG XDEBUG_VERSION="xdebug-2.9.0"
    
    FROM php:7.0-apache
    
    RUN a2enmod rewrite
    
    RUN docker-php-ext-install pdo pdo_mysql
    
    RUN yes | pecl install ${XDEBUG_VERSION} \
        && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
        && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
        && echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
    
    
    COPY php.ini /usr/local/etc/php/
    COPY . /var/www/html/