일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- IntelliJ
- goland
- 알고리즘
- 백준
- insert
- 17837
- Android
- vscode
- ubuntu
- Java
- Algorithm
- github
- 안드로이드
- 단축키
- 제어반전
- Jenknis
- activity
- mysql
- 큐빙
- data
- 데이터전달
- 16197
- git
- broadcastreceiver
- 데이터
- service
- 프로그래머스
- intent
- spring
- 두 동전
- Today
- Total
해보자
[PHP/Xdebug] PHPStorm에 xdebug 적용 본문
Xdebug 설정
위 사이트에 phpinfo의 정보를 모두 복사해서 붙여넣으면 사용할 수 있는 버전의 xdebug 설치 방법 및 사용 방법에 대한 가이드를 제시해준다. php의 xdebug 다운로드를 모두 마쳤다.
php8.2을 사용하고 있으니 xdebug 3.2.0을 사용하라 했다.
php.ini
php.ini파일에 아래 내용 추가하고,
[xdebug]
zend_extension="/opt/homebrew/lib/php/pecl/20220829/xdebug.so"
xdebug.mode=debug
xdebug.client_port=9000
xdebug.client_host=localhost
xdebug.start_with_request=yes
xdebug.idekey=PHPSTORM
잘 설정해주었다 생각했는데 왜 phpinfo()에서 xdebug 관련 내용이 보이지 않는 것인가ㅠㅠ
phpstorm에서 해당 버전의 PHP 아래 xdebug 버전도 잘 뜨는데..
아래 명령으로 php 버전 및 debuger 버전 확인해보면.. 이것도 아래와 같이 잘 나왔다.
php -v
Zend Engine v4.2.1, Copyright (c) Zend Technologies
with debug v3.2.0, Copyright (c) 2002-2022, by Derick Rethans
with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies
혹시나해서 내용을 찬찬히 보던 중에 Loaded Configuration File이 none 으로 나오는 부분에 대해서 먼저 의심해보았다.
하지만 php --ini 에서는 php 경로가 잘 나오는걸 확인하고 억울했다.
이게 왜 다르지?? --고민
갑자기 결론
결과적으로 그것과는 별개의 문제였다.
php --ini에서 ini 파일 경로가 잘 나오면 phpinfo()에서 none으로 나타나도 무방한 모양이다. (여기서도 none으로 뜨면 php.ini 파일을 해당 경로에 생성해주든 복사해오든 해야 한다.)
왜 이렇게 되는지까지 알아가기엔 나는 너무 지쳤다.
위 Xdebug 설정 부분에서 3.2.0의 xdebug 설치 시 별도의 xdebug용 ini파일을 생성해주었어야 했는데 이 과정이 누락되었고.. xdebug 위자드가 잘 알려줬는데 내가 왜그랬을까!
그에 따라, 아래 파일을 생성하고 설정 내용을 재작성해주었다./opt/homebrew/etc/php/8.2/conf.d/99-xdebug.ini
zend_extension = xdebug
xdebug.start_with_request = yes
xdebug.client_host = localhost
xdebug.client_port = 9000
xdebug.remote_handler = dbgp
xdebug.idekey = PHPSTORM
xdebug.mode = debug
이 파일에 xdebug 관련 설정 값들을 모두 넣어주고 다시 돌리니 phpinfo()에서 잘 보였다.
phpinfo()를 봐가면서 내가 의도한대로 설정이 잘 되고 있는지 확인할 것.
xdebug3과 2버전에서 작성해야 하는 옵션들이 다르다. xdebug3 사용중인데 xdebug2의 옵션을 사용하고싶어 해도 그럴 수 없다.
그런 옵션들은 이렇게 말할 것이다. (setting renamed in Xdebug 3)
기타 PHPStorm 설정
- phpstorm에서는 PHP - Debug - XDebug에서 debug port를 셋팅해줬던 값(default: 9003)으로 지정해놓을 것.
- phpstrom debug 연결 리스닝을 on 할 것!
브레이크 포인트를 걸어 실행을 시켜보면 잘 작동한다 야호~ !