概要
xdebugをdocker環境で使えるようにしたかったので調べてみた。
Dockerを準備する
作ったコードは、下記githubにまとめているので大雑把に書きます。
※ Github: https://github.com/reflet/php5.6-xdebug
docker/httpd/Dockerfile
FROM php:5.6-apache
# install xdebug
RUN pecl install xdebug-2.5.5 && docker-php-ext-enable xdebug
# update php.ini
COPY ./php.ini /usr/local/etc/php/php.ini
WORKDIR /var/www/html
php.iniの設定
下記の設定を追加する。
docker/httpd/php.ini
[xdebug]
xdebug.idekey="PHPStorm"
xdebug.remote_host = "docker.for.mac.host.internal"
xdebug.default_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 0
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_port = 9000
docker-compose.yml
dockerの構成を記述します。
docker-compose.yml
version: "3.7"
services:
httpd:
container_name: httpd
image: httpd:development
build:
context: ./docker/httpd
dockerfile: Dockerfile
ports:
- "80:80"
volumes:
- ./src:/var/www
サーバ起動
下記コマンドでサーバを起動します。
ターミナル
$ docker-compose build
$ docker-compose up -d
IDE設定 (IntelliJ)
お使いのIDEで9000番ポートを指定する。
以上