PhpStorm에서 docker의 웹과 batch php를 터미널에서 시작하고 디버깅하고 싶습니다.

소개



PhpStorm의 리모트 인터프리터에 docker-compose를 선택해, 디버그 환경을 정돈한 사람을 위한 기사입니다.
phpstorm에서 php 스크립트를 실행하여 디버깅 해 봅시다.

GUI에서 debug 실행(아래의 벌레)하면 docker-compose run 로 실행해 버리면 다른 컨테이너가 되어 버려, 아무래도 형편이 나쁜 때라든지 있지요. .


그래서 docker-compose exec에서 batch를 움직이고 싶지만, 어떻게 디버깅을 하고 있어 곤란하지 않습니까?

또, 브라우저로부터 실행하는 것이 아니고, terminal상으로부터 cURL로 디버그하고 싶을 때 어떻게 하면 곤란하지 않습니까?

그런 고민하는 희귀한 분에게 전해드립니다.

docker-compose exec 에 xdebug ON



이런 느낌으로 -e XDEBUG_CONFIG=remote_connect_back=1 를 붙여 주면 xdebug의 수화기를 들고 있으면 break point에서 멈추게 됩니다.
docker-compose exec \
-e XDEBUG_CONFIG=remote_connect_back=1 \
batch php /var/app/bin/executeHoge.php 

움직이지 않는 경우는, 전부 들어가서 실행해 조금씩 붙잡아 합시다.
docker-compose exec \
-e XDEBUG_CONFIG="remote_host=docker.for.mac.host.internal remote_enable=1 remote_connect_back=1" \
-e PHP_IDE_CONFIG="serverName=docker" \
batch php /var/app/bin/executeHoge.php 

cURL에서 xdebug ON



이곳은 -b 옵션으로 쿠키를 먹이는 것만으로 갈 수 있습니다.
curl -sk \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d "{\"hoge\":\"fuga\"}" \
-b XDEBUG_SESSION=PHPSTORM \
"http://localhost:10080/api/hoge"

결론



이상, 자신 ​​용 메모였습니다. .

좋은 웹페이지 즐겨찾기