Java, C# 등의 정적 언어를 사용해 본 학생들은 코드를 디버깅할 때 중단점을 설정한 후 쉽게 디버깅하는 경우가 많습니다. 그러나 PHPer로 코드를 디버깅할 때는
echo $a;exit;
인 경우가 많습니다. 일부 학생들에게는 매우 불편합니다. 때로는 중단점이 삭제되기 전에 커밋되어 많은 문제가 발생합니다. 더 우아하게 디버깅할 수 있는 방법이 있습니까? 물론 있습니다. 여기서는 PHP 모듈 xdebug, xdebug 설치 튜토리얼을 사용합니다. 이를 PHP 코드 디버깅에 사용하면 작업 부하와 BUG 디버깅 시간을 효과적으로 줄일 수 있습니다. 특히 일부 복잡한 프로그램에서는 검색만으로는 찾을 수 없습니다. 문제가 발생했습니다
관련 학습 권장 사항:phpstrom 사용 튜토리얼
Xdebug는 PHP 프로그램 상태를 추적, 디버깅 및 분석하는 데 사용할 수 있는 오픈 소스 PHP 프로그램 디버거(예: 디버그 도구)입니다. .
- phpstudy 등 통합환경이라면 직접 설치할 필요는 없습니다. 직접환경->PHP->설정 (PHP 버전번호와 혼동하지 마세요)
- 여기에서 포트 번호를 설정하세요. 저는 9001을 설정했습니다
- phpinfo를 확인하고, 검색하고, xdebug 모듈을 찾으세요
다음으로 phpstorm을 열고, Ctrl+Alt+s를 눌러 설정을 엽니다
디버그 설정에 가서 포트를 앞서 설정한 포트 번호로 변경하세요(다른 포트는 기본값으로 설정할 수도 있고 활성화할 수도 있고, 영어를 모르면 번역해도 됩니다)
클릭 서버에서 +를 클릭하여 새 항목을 만들고 원하는 대로 이름을 지정한 다음 디버그하려는 호스트 도메인 이름을 입력합니다(예: localhost, 여기에 가상 도메인 이름을 입력했습니다). 기본 포트 번호는 80
입니다.
그런 다음 오른쪽 상단에 구성 편집이 있습니다. 클릭하여 엽니다.
PHP 웹 페이지를 추가하려면 더하기 기호를 클릭하세요.
이름은 지금 구성한 서버를 임의로 선택하세요. .startUrl은 시작을 위한 인터페이스 주소입니다. 주문 인터페이스를 디버깅하려면 이를 입력하고 화살표로 표시된 Validate
를 클릭합니다. 첫 번째 옵션은 로컬 디버깅이고 두 번째 옵션은 원격 디버깅입니다. .혼란을 피하기 위해 여기서는 원격에 대해 이야기하지 않겠습니다
첫 번째 입력 상자에 자신만의 프로젝트 디렉터리를 입력하세요. 내 것은 Tinkphp Framework이므로 프로젝트 디렉터리의 공용 디렉터리를 가리켰습니다
두 번째 단계는 자신의 도메인 이름을 입력하는 것입니다. 여기 편집기가 자동으로 입력합니다.
확인 버튼을 클릭하면 phpstorm이 구성이 올바른지 감지하는 데 도움이 됩니다. 메시지에 따라 수정하세요
마지막으로 오른쪽 상단에 있는 버그를 클릭하면 브라우저가 자동으로 디버깅을 위해 열립니다. 버그 옆에 있는 전화기가 녹색으로 바뀌면 포트 9001을 수신하고 있다는 의미입니다.
이때 phpstorm은 자동으로 디버그 콘솔을 열고 화살표를 클릭하여 자동으로 다음 단계로 이동하고 왼쪽의 빨간색 점을 클릭하여 지점을 중단합니다
postman을 사용하려면 어떻게 해야 하나요?
이 매개변수를 여기로 가져오세요
이 key-vlue 쌍을 postman의 매개변수에 추가하고 보내기를 클릭하면 자동으로 디버깅이 시작됩니다(포스트맨은 중단점 디버깅이 완료될 때까지 항상 보내는 상태에 있습니다)
내가 작성한 튜토리얼에서는 독자들이 가장 짧은 단계로 xdebug를 실행할 수 있기를 희망합니다. 일부 세부 사항은 무시되었습니다. 관심 있는 학생들은 온라인에서 더 자세한 구성 및 지침을 찾을 수 있습니다. (물론 관심 없음)
왼쪽에서 브레이크 포인트를 설정할 수 있으며, 브레이크 포인트까지 코드가 실행되면 중지됩니다-
이 버튼을 클릭하면 한 줄의 코드가 실행되지만, 함수 전체가 직접 실행됩니다-
이 버튼은 한 줄의 코드도 실행하며 함수 내에서도 실행될 수 있습니다
- 跳到下一个断点
- 第一个页面可以很清晰的查看所有变量
- 第二个页面可以打印变量,甚至可以执行对象函数方法(贼有用)
- 第三个页面是查看输出
问题总结
- 断点调试时,PHP脚本执行超时后Apache自动断开连接,然后返回一个500错误
在apache的http.conf文件加入
FcgidIOTimeout 600
위 내용은 Xdebug를 사용하여 phpstorm에서 코드를 디버그하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!