[PHP] Xdebug란?
Xdebug
PHP extension이며 디버깅, 프로파일링, 추적 등 다양한 기능을 제공한다.
PHP 8 버전 이상 사용할 경우 Xdebug는 3 버전 이상 사용해야 한다.
VSCode ide를 사용하고 Docker Compose를 적용하여 간단하게 Xdebug를 설정해본다.
하단 예시 디렉토리 구조
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
Step 5
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를 지정한다.)
Leave a comment