이 글에서는 주로 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이 요청되면 요청이 자동으로 캡처됩니다.
여기서는 호스트가 Windows이고 코드가 Linux에 있고 디렉터리가 일관성이 없기 때문에 매핑이 이루어집니다. 그렇지 않으면 중단점이 실패합니다.
🎜🎜🎜🎜🎜위 내용은 Phpstorm+Xdebug 중단점을 사용하여 PHP를 디버깅하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!