VSCode로 PHP+Vagrant 디버그 환경 구축

배경 · 동기


  • 디버그 작업을 할 때 var_dump등을 사용해 출력하고 있었다.
  • 경우에 따라서는 20개 정도 var_dump 하기 때문에, 꽤 비효율.
  • 마스터의 소스 코드에 지워 잊어버린 var_dump가 혼입되고 있다.

  • XDebug 사용하면? 라고 말해 사용해 보면 꽤 편리하고 세계가 바뀌었으므로, 공유하고 싶다고 투고했습니다.

    전제


  • Vagrant에서 시작된 PHP 환경이 있습니다.
  • XDebug가 설치되었습니다.
  • VSCode에 PHP Debug 플러그인이 설치되었습니다.

  • 절차


  • Vagrant의 php.ini 파일에서 XDebug 사용
  • VSCode의 launch.json에 디버거 설정 추가
  • Chrome 확장 설치
  • 브레이크 포인트 제거
  • 디버그 모드로 설정
  • 응용 프로그램 시작

  • 1. Vagrant php.ini 파일에서 XDebug 활성화



    php.ini 파일에 다음 설정을 추가합니다.
    추기 후에는 service httpd restart 합시다.
    xdebug.remote_enable=1
    xdebug.idekey="vscode"
    xdebug.remote_host=192.168.33.1
    xdebug.remote_port=9000
    xdebug.remote_autostart=1
    xdebug.remote_connect_back=1
    
    xdebug.remote_log=/tmp/xdebug.log
    

    2. VSCode의 launch.json에 디버거 설정 추가



    VSCode 왼쪽 메뉴에서 디버그 아이콘을 클릭하고 왼쪽 상단의 톱니 바퀴 아이콘을 클릭하면 json 파일이 열리므로 다음과 같이 추가합니다.
    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "Listen for XDebug",
          "type": "php",
          "request": "launch",
          "port": 9000,
          "serverSourceRoot": "/path/to/app",
          "localSourceRoot": "${workspaceRoot}"
        }
      ]
    }
    

    3. Chrome 확장 설치



    Xdebug helper

    ※대상의 어플리케이션이 WebAPI등의 경우는, GET 파라미터에 XDEBUG_SESSION_START=vscode 를 추가하는 것으로, 이 순서를 생략 할 수 있습니다.

    4. 브레이크포인트를 풀다




  • VSCode에서 임의의 행 번호의 왼쪽을 클릭합니다.

  • 5. 디버그 모드로 설정




  • 왼쪽 메뉴에서 벌레 아이콘을 클릭하고 디버그 오른쪽 ▶︎을 클릭합니다.

  • 6. 애플리케이션 시작




  • 응용 프로그램을 시작하면 중단 점이있는 행에서 실행이 중지되고 변수 내용이 나열됩니다.

  • 디버거 편리하므로 꼭 사용해보십시오.

    좋은 웹페이지 즐겨찾기