로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

PHP Xdebug

lmkfox · 2025-08-15 · 조회 0
PHP Xdebug
1. Xdebug 주요 기능 (1) 스택 트레이스(Stack Trace) - 오류 발생 시 코드 실행 경로를 표시합니다. - 파일명, 라인 번호, 호출된 함수 목록, 변수 상태 등을 확인할 수 있습니다. - 예: Fatal error 발생 시 어떤 함수 호출 경로에서 에러가 났는지 확인 가능. (2) 변수 검사(Variable Inspection) - 실행 중인 시점에서 변수 값, 타입을 실시간 확인 가능. - IDE(예: PHPStorm, VSCode)와 연동하면 코드에 브레이크포인트를 설정하고, 한 줄씩 실행하며 값 확인 가능. (3) 코드 디버깅(Breakpoint Debugging) - 특정 라인에 브레이크포인트를 설정하면, 해당 라인에서 코드 실행이 멈추고 변수 상태를 점검할 수 있습니다. (4) 성능 분석(Profiling) - 어떤 함수가 실행되었고, 각 함수가 실행되는 데 걸린 시간을 기록. - cachegrind 형식으로 결과를 저장하며, KCacheGrind 같은 툴로 시각화 가능. (5) 코드 커버리지(Code Coverage) - PHPUnit 같은 테스트 도구와 연계해, 테스트가 코드의 몇 %를 실행했는지 확인 가능. 2. Xdebug 설치 (1) Linux (예: Ubuntu) sudo apt install php-xdebug (2) macOS (Homebrew) brew install php-xdebug (3) 설치 확인 php -v 출력 예: PHP 8.x.x (cli) ... with Xdebug v3.x.x, ... 3. php.ini 설정 Xdebug 설치 후 php.ini 또는 별도 설정 파일에 추가합니다. 기본 설정 예시 zend_extension="xdebug.so" ; Xdebug 모듈 로드 xdebug.mode=debug ; 디버그 모드 활성화 (debug, develop, profile 등 가능) xdebug.start_with_request=yes ; 요청 시작 시 디버깅 시작 xdebug.client_host=127.0.0.1 ; IDE가 실행 중인 호스트 IP xdebug.client_port=9003 ; Xdebug 기본 포트(3.x 버전부터 9003) Xdebug 모드 옵션 (콤마로 구분하여 여러 개 설정 가능) - develop : var_dump 개선, 오류 표시 강화 - debug : IDE와의 원격 디버깅 - profile : 성능 분석 - coverage : 코드 커버리지 측정 4. IDE와 연동 PHPStorm 예시 - PHPStorm에서 Settings > Languages & Frameworks > PHP > Debug 이동. - Debug Port를 9003으로 설정. - PHP Interpreter에 Xdebug가 포함된 PHP 실행 환경 등록. - 브라우저에서 Xdebug 쿠키(XDEBUG_SESSION=1)를 설정하거나, 자동 시작 모드 사용. 5. 성능 분석(Profiling) 사용 예 xdebug.mode=profile xdebug.output_dir="/var/tmp/xdebug" - 실행 후 /var/tmp/xdebug에 .cachegrind 파일이 생성됨. - qcachegrind 또는 KCacheGrind로 열어 분석. 6. 주의할 점 - 운영 서버에서는 Xdebug를 항상 꺼두는 것이 좋습니다. (성능 저하 발생 가능) - 디버그 포트(9003)가 방화벽에서 열려 있어야 원격 디버깅 가능. - PHP 버전과 Xdebug 버전 호환성을 반드시 확인.

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.