라라벨 시작하기 13 – Debug

PHP는 Xdebug라는 강력한 툴을 제공한다. 그런데 이거 초반에 많이 헤맸다. 로컬에서는 아무 문제가 없다.

내 경우엔 윈도우에 php를 직접 설치하여 개발을 하지 못했다. PHP버전때문. 회사 프로젝트의 php버전이 낮아 최신 버전을 사용할 수 없었다. 그래서 도커로 예전 버전 이미지를 사용하여 개발을 할 수밖에 없었다. 오히려 이게 깔끔하다. 그런데 이렇게 하니 디버깅을 어떻게 해야 할지 난감했다.

그렇지만 방법을 찾았다.

나는 vscode를 사용하여 개발한다. 여기에 remote explorer 확장이 있다. 이걸로 해당 서버에 원격으로 접속할 수 있다. 그리고 미리 준비된 xdebug가 포함된 php 서버이미지를 사용하여 프로젝트를 시작한다. 라라벨은 이미 준비되어있다.

remote explorer의 Dev Containers에 해당 컨테이너를 선택하여 진입하고 Explorer에서 Open Folder를 선택하여 프로젝트 폴더를 선택한다.

이런 유사한 화면이 나올것이다. 여기서 프로젝트 폴더를 선택한다. 라라벨에선 /var/www/html이다.

그리고 xdebug 설정을 한다.

xdebug_mode는 develop, client_host는 localhost로 했다. idekey=docker는 phpstorm에서 사용한다던데 써본적이 없어 잘 모르겠다.

vscode의 디버깅 툴(Run and Debug)을 사용하자. 처음엔 어떤 디버깅 툴을 사용하려고 하는지 선택하라고 나오는데 PHP를 선택하자.

톱니바퀴 모양을 누르면 launch.json을 만들어줄거다. 자동으로 만들어준다. 설정은 바꾸지 않아도 된다.

이제 저 play버튼을 누르면 서버의 debug port와 연결한다. 이제부터 소스에 브레이크포인트를지정하여 디버깅을 할 수 있다.

알면 별거 아닌데.

오늘은 여기까지.