PHP 개발자를위한 강력한 디버깅 및 성능 분석 도구 코어 포인트 :
xdebug는 디버깅 지원, 스택 추적, 성능 분석, 코드 적용 범위 및 기타 기능을 제공하는 강력하고 무료 및 오픈 소스 PHP 확장자입니다. 개발자는 언제든지 응용 프로그램 실행을 일시 중지하고 PHP가 실행되는 방식을 더 잘 이해하기 위해 변수 값을 확인할 수 있습니다.
xdebug는 PHP 응용 프로그램의 성능 분석 도구로 사용될 수 있으며, 진술 및 기능 실행 시간 및 통화 수와 같은 중요한 세부 사항을 기록합니다. 이러한 출력을 분석하면 병목 현상이 어디에 있는지 이해할 수 있으므로 성능을 위해 애플리케이션을 최적화 할 수 있습니다.
디버그
var_dump()
exit/die()
소스 파일을 열면 도구 모음에서 "디버그"버튼을 클릭하여 디버깅을 시작하십시오. 브라우저에서 응용 프로그램이 열리고 옵션 창에서 "첫 번째 줄 정지"옵션이 활성화되면 파일의 첫 번째 줄에서 PHP 실행이 일시 중지됩니다. 그렇지 않으면 첫 번째 중단 점이 발생할 때까지 실행됩니다. 거기서부터 계속 버튼을 사용하여 다음 중단 점으로 계속 될 수 있습니다. 브라우저 URL 막대의 XDEBUG_SESSION_START 매개 변수입니다. 디버거를 트리거하려면 XDEBUG_SESSION_START는 쿠키 매개 변수로 요청 매개 변수 (get/post) 또는 xdebug_session으로 전달되어야합니다. 디버그 도구 모음에는 다른 유용한 작업이 있습니다. 그들은 :
단계별 - 현재 실행중인 선을 건너 뜁니다
, 및 와 같은 슈퍼 글로벌 변수를 표시합니다). 당신은 당신이 진술을 진행할 때 그들의 값이 어떻게 변하는지를 관찰 할 수 있습니다.
<code>[xdebug] zend_extension="/Applications/MAMP/bin/php5.2/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so" xdebug.remote_enable=1 xdebug.remote_host=localhost xdebug.remote_port=9000</code>
는이를 활성화하는 데 사용됩니다. xdebug.profiler_enable
xdebug.profiler_output_name
왼쪽 패널 (함수 요약)은 실행 순서대로 각 함수에 소요 된 시간을 표시합니다. 오른쪽 상단의 패널은 크기가 함수 비용에 해당하는 동일한 정보를 그래픽으로 표시합니다. 통화 그래프는 응용 프로그램의 함수 간의 관계를 나타냅니다. 이 예에는 Main ()과 Fact ()의 두 가지 함수 만 있습니다. 사실 ()은 그림의 루프로 표시되는 재귀 함수입니다. 코드를 최적화 할 때는 총 비용이 가장 높은 영역을 찾아야합니다. 일반적으로 I/O 작동이 가장 비쌉니다. 가능한 한 최소화하는 것을 잊지 마십시오. 의미있는 파일의 게으른로드. 온라인 상점에서 모든 주문 목록과 해당 세부 정보를 제공하는 주문이라는 클래스가 있다고 가정 해 봅시다. %t
xdebug.profiler_output_dir
이 클래스에는 getAll ()와 getDetails ()의 두 가지 방법이 있습니다. getAll () 메소드를 호출하면 모든 레코드의 세부 사항을 얻기 위해 주문 테이블에 모든 레코드를 가져 와서 루프합니다. 성능 분석 정보를 살펴 보겠습니다. xdebug.profiler_enable_trigger
<code>xdebug.profiler_enable = 1 xdebug.profiler_output_name = xdebug.out.%t xdebug.profiler_output_dir = /tmp xdebug.profiler_enable_trigger = 1</code>요약
xdebug는 중개자 역할을하며 서버에서 PHP 프로그램의 실행을 제어합니다. 이 기사에서는 Xdebug -Debug 지원 및 성능 분석 지원의 가장 인상적인 기능 중 두 가지를 보았습니다. 원격 디버깅을 사용하면 프로그램을 수정하지 않고 런타임시 값을 확인할 수 있으므로 PHP가 실행되는 방식을 더 잘 이해할 수 있습니다. 성능 분석은 코드에서 병목 현상을 식별하여 성능을 위해 최적화 할 수 있습니다. 이 기사가 Xdebug의 이점을 이해하는 데 도움이되기를 바랍니다. 아직 사용하지 않은 경우 바로 사용하도록 권장합니다. 이것이 귀중한 도구를 찾으면 지원 계약을 구매 하여이 훌륭한 프로젝트를 지원하는 것을 고려할 수도 있습니다. (참고 : 위의 그림 자리 표시자는 실제 스크린 샷으로 교체해야합니다.)
위 내용은 PHP 마스터 | XDEBUG로 PHP 디버깅 및 프로파일 링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!