>  기사  >  백엔드 개발  >  Phpstorm+Xdebug 중단점을 사용하여 PHP를 디버깅하는 방법

Phpstorm+Xdebug 중단점을 사용하여 PHP를 디버깅하는 방법

ringa_lee
ringa_lee원래의
2018-05-15 09:07:466147검색

이 글에서는 주로 Phpstorm+Xdebug 중단점 디버깅 방법을 소개합니다. 이 튜토리얼에서는 중단점 디버깅을 위한 Xdebug 확장을 구성합니다. 관심 있는 친구들이 참고할 수 있습니다.

중단점 디버깅을 사용하는 이유

var_dump 및 echo를 사용하여 디버깅할 수도 있다고 생각할 수도 있습니다. Xdebug 중단점 디버깅을 설치해야 하는 이유는 무엇입니까?

맞습니다. 다만, var_dump와 echo로 작성한 코드는 나중에 삭제해야 하며, 어디에 입력해야 할지 명확합니다. 작성한 곳까지 실행되지 않는 것으로 확인되면 코드를 수정하여 다시 실행해야 합니다. 중단점 디버깅을 사용하면 디버깅 프로세스 중에 지점을 동적으로 중단하고, 각 변수의 현재 값을 한 줄씩 볼 수 있으며, 변수 값을 임시로 수정할 수도 있어 더욱 편리합니다. Xdebug 중단점 디버깅을 사용하는 것이 좋습니다.

Xdebug 설치

pecl install xdebug

php7 이하 버전이라면 버전 번호를 추가해야 합니다:

pecl install xdebug-2.5.5

pecl 확장 프로그램을 찾을 수 없다는 메시지가 나타나면 소스 코드를 사용하여 컴파일하세요. 예:

wget http://pecl.php.net/get/xdebug-2.5.5.tgz \
  && tar xzf xdebug-2.5.5.tgz && cd xdebug-2.5.5/ \
  && phpize \
  && ./configure \
  && make && make install

참고: php5.6은 xdebug 버전 2.5 이하만 사용할 수 있습니다.

설치 후에는 php.ini에서 구성해야 합니다.

[xdebug]
zend_extension=xdebug.so
xdebug.enable=1
xdebug.remote_enable=1
;如果开启此,将忽略下面的 xdebug.remote_host 的参数
;xdebug.remote_connect_back=1
;自动启动,无需XDEBUG_SESSION_START=1
xdebug.remote_autostart=1 
;宿主机IP
xdebug.remote_host=192.168.36.101 
xdebug.remote_port=19001
xdebug.remote_handler=dbgp

다음 사항에 유의하세요.

1 xdebug.remote_autostart뒤가 아니라 zend_extension입니다. code>가 켜져 있으면 요청 URL에 <code>XDEBUG_SESSION_START=1를 수동으로 추가할 필요가 없습니다. Phpstorm이 중단점 디버깅을 활성화하는 한 괜찮습니다. 매우 편리합니다.

3. remote_host는 Phpstorm이 설치된 시스템을 구성합니다. PHP가 설치된 머신과 Phpstorm이 설치된 머신이 동일한 머신이라면 주소를 127.0.0.1로 입력하세요. xdebug.remote_autostart开启后,就不用手动在请求url里加上XDEBUG_SESSION_START=1了,只要Phpstorm开启断点调试就ok了。很方便;

3、remote_host配置的是安装有Phpstorm的机器,这点需要注意。如果php安装的机器和Phpstorm安装的机器是同一台机器,那么地址写127.0.0.1即可。

如果你采用的是docker环境,remote_host写宿主机的IP。

4、xdebug.remote_port端口我写的是19001

docker 환경을 사용하는 경우 remote_host는 호스트 시스템의 IP를 씁니다.

4. 제가 작성한 xdebug.remote_port 포트가 19001이므로 Phpstorm도 수정해야 합니다. 구성이 완료되면 php-fpm을 다시 시작해야 합니다.


Phpstorm 구성

구성도 매우 간단합니다. 포트만 구성하면 됩니다.



그런 다음 중단점 디버깅을 시작할 수 있습니다. 모니터링 켜기:


URL이 요청되면 요청이 자동으로 캡처됩니다.

참고:


1. 동시에 여러 프로젝트 모니터링을 활성화하지 마세요.

2. 호스트의 디렉터리 구조와 코드가 일치하면 모니터링이 직접 성공합니다. . 그렇지 않으면 코드 매핑 관계를 설정하라는 메시지가 표시됩니다. 수동으로 설정할 수도 있습니다.


여기서는 호스트가 Windows이고 코드가 Linux에 있고 디렉터리가 일관성이 없기 때문에 매핑이 이루어집니다. 그렇지 않으면 중단점이 실패합니다.

🎜🎜🎜🎜🎜

위 내용은 Phpstorm+Xdebug 중단점을 사용하여 PHP를 디버깅하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.