xDebugを使えるようにDockerセットアップ

前回のものからxDebugが使えるように設定する。
ステップ実行ができるところまでは確認済み。

IDEがサーバ、xDebugがクライアントとなる。

手順

下記ファイルを追加して、既存のdocker-compose.ymlを利用して、
docker compose up -d とコマンドを叩いて、IDEを設定すれば良い。

docker-php-ext-xdebug.ini

下記内容のファイルを追加。

zend_extension=xdebug
xdebug.client_host=host.docker.internal
xdebug.client_port = 9003
xdebug.mode=develop,coverage,debug,gcstats,profile,trace
xdebug.start_with_request=yes

000-default.conf

下記行を追加。

DirectoryIndex index.php

Dockerfile

最後のxDebug設定ファイルのコピー部分だけ追加。

FROM php:8.2.11-apache
LABEL authors="shinke1987"

# Composerのインストール。
# Composerの公式ページから引用。
COPY --from=composer/composer:latest-bin /composer /usr/bin/composer

# アップデート。
RUN apt-get update
RUN apt-get -y install less git unzip

# タイムゾーンの設定
RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

# pdo_pgsqlで必要。
RUN apt-get -y install libpq-dev

# apachectl status コマンドの実行に必要。
RUN apt-get -y install lynx

# Apacheのファイルをコピー。
COPY ./apache2.conf /etc/apache2/
COPY ./000-default.conf /etc/apache2/sites-available/

# PHPのファイルをコピー。
COPY ./php.ini /usr/local/etc/php/

# Laravelで必要なPHPの拡張ライブラリを設定。
RUN docker-php-ext-install pdo_pgsql

# xDebugインストール。
RUN pecl install xdebug-3.2.2
# xDebug設定。
RUN docker-php-ext-enable xdebug
# xDebug用設定ファイルをコピー。
COPY ./docker-php-ext-xdebug.ini /usr/local/etc/php/conf.d/


# Apache起動。
CMD ["apache2-foreground"]

コメント

タイトルとURLをコピーしました