[PHP] Xdebug

Xdebug

PHP extension์ด๋ฉฐ ๋””๋ฒ„๊น…, ํ”„๋กœํŒŒ์ผ๋ง, ์ถ”์  ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
PHP 8 ๋ฒ„์ „ ์ด์ƒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ Xdebug๋Š” 3 ๋ฒ„์ „ ์ด์ƒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
VSCode ide๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  Docker Compose๋ฅผ ์ ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ Xdebug๋ฅผ ์„ค์ •ํ•ด๋ณธ๋‹ค.

ํ•˜๋‹จ ์˜ˆ์‹œ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ directory ๊ตฌ์กฐ

Step 1

docker-compose.yml ์ž‘์„ฑํ•˜๊ธฐ

1
2
3
4
5
6
7
8
9
10
version: '3.8'

services:
    app:
    build: ./docker/app
    ports:
        - '8080:80'
    volumes:
        - ./src:/var/www/html
        - ./docker/app/php.ini:/usr/local/etc/php/php.ini


Step 2

docker/app/Dockerfile ์ž‘์„ฑํ•˜๊ธฐ

1
2
3
4
FROM php:8.1-apache

RUN pecl install xdebug \
    && docker-php-ext-enable xdebug


Step 3

docker/app/php.ini ์ž‘์„ฑํ•˜๊ธฐ

1
2
3
4
5
[xdebug]
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=host.docker.internal
xdebug.client_port=9003


Step 4

extension install extension

Step 5

launch.json ์ƒ์„ฑ launch.json

Step 6

launch.json์— xdebug ์„ค์ •

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "pathMappings": {
                "/var/www/html/": "${workspaceRoot}/src"
            }
        }
        ...
    ]
}


Step 7

src/index.php ํŒŒ์ผ ์ƒ์„ฑ ํ›„ ์ž„์˜์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  F5ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋””๋ฒ„๊น…๋ชจ๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.(โ€ป ์ฝ”๋“œ ์ค„๋ฒˆํ˜ธ ํ‘œ์‹œ ์ขŒ์ธก์— ํด๋ฆญ์„ ํ•˜์—ฌ break point๋ฅผ ์ง€์ •ํ•œ๋‹ค.) ๋””๋ฒ„๊ทธ ์‹คํ–‰

Categories:

Updated:

Leave a comment