vscode - php debug

blatter·2022년 10월 29일
0
post-thumbnail

Intro

vscode - php 디버깅 모드를 사용하기 위해 본 게시물이 작성 되었다.


환경구성

window 11
ubuntu 20.04
vscode

  • server
    apache2
    php7.4
    vmware (ubuntu 20.04)

  • client
    chrome,edge (server 페이지 접속)
    vscode ssh -> server 연결

(php, apache2 설치는 본 게시물에서 다루지 않을 것이다.)


vscode


ubuntu에 ssh연결을 해준다


왼쪽 5번째 메뉴를 누른 뒤 PHP Debug, PHP IntelliSense를 다운해준다.


여기서 부터 설정할 부분이 많으니 확인 잘 하도록하자.

xdebug dll 다운로드

  1. ubuntu에 temp.php 파일을 하나 만들어 아래 코드를 입력해준다.
<?php
    echo phpinfo();
?>
  1. 웹 브라우저에서 temp.php 파일을 열어준다.

    위 화면에서 Ctrl+A, Ctrl+C 해준다.

  2. https://xdebug.org/wizard 링크로 이동한 뒤 복사한 텍스트를 붙여 넣는다.

    Analyse my phpinfo() output 버튼을 눌러준다.

    위 사진 처럼 나오면 잘 따라 온것이다.

  3. Instructions의 xdebug-3.1.5.tgz을 ubuntu에 설치 한다. (wget으로 다운받자.)

wget (본인 xdebug 다운로드 파일링크)

xdebug - vscode 파일 설정

  1. Instructions의 설치 순서를 8번까지만 따라한다.

  2. launch.json 파일 생성

sudo mkdir .vscode
sudo cd .vscode
touch launch.json

launch.json 파일에 아래 내용 모두 넣어준다.

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003 // 여기
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname",
            "port": 9003 // 여기
        }
    ]
}
  1. /etc/php/7.4/apache2/php.ini 파일에 아래 내용을 추가
[xdebug]
zend_extension="/usr/lib/php/20190902/xdebug.so"
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port = 9003

2번째 줄, zend_extension의 경로중 20190902이 값이 phpize의 값과 동일한지 확인해보자.

  1. apache restart
service apache2 restart

아파치 서비스 재시작 하면 될것이다.


디버깅

  • 원하는 곳에 breakpoint를 지정한다.
  • 위 사진처럼 왼쪽 4번째 메뉴를 눌러준뒤 위쪽 초록색 실행 버튼을 눌러준다.
  • 해당 웹 페이지 재시작을 하면 잘 작동 하는것을 볼 수 있다.

Reference

profile
보안 1일차였던것

0개의 댓글