PHP Xdebug 安装使用笔记

xdebug 介绍

Xdebug : Debugger and Profiler Tool for PHP

一个PHP的调试和分析工具 https://xdebug.org/

本地环境是PHPStudy集成环境小皮,IDE是phpstorm 2022.2.2版本

nginx1.15.11,php7.3.4

WIN10 下载PHP对应版本的扩展包

https://xdebug.org/download
扩展下载地址 https://xdebug.org/download/historical 这里只有ts版本
pecl官网 http://pecl.php.net/package/xdebug/2.9.6/windows

下载的xdebu的扩展包到对应PHP版本的ext目录下 D:\phpstudy_pro\Extensions\php\php7.3.4nts\ext\php_xdebug-2.9.6-7.3-vc15-nts-x86_64.dll

上面就是基本的本地开发环境,IDE等相关的版本,下面就是介绍在基于以上环境配置PHP的xdebug扩展进行打断点调试代码

如果是本地IDE运行PHP脚本,直接debug就行,如下图:

几个相关的配置说明

  1. PHP的配置文件php.ini中要开启xdebug扩展和配置xdebug的信息
  2. 在PHPstorm中配置DBGp Proxy 来监听代码debug :配置DbGp代理这个是为了监听浏览器访问的时候触发debug调试

下面介绍浏览器触发debug调试的步骤:

1. 在php.ini文件中配置xdebug扩展

zend_extension=D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug-2.9.6-7.3-vc15-nts-x86_64.dll
xdebug.mode = debug 
xdebug.remote_enable=on
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp 
xdebug.remote_host=localhost 
xdebug.remote_port=9003
xdebug.idekey=PHPSTORM 

注意端口使用的是9003,不要使用9000会跟CGI的端口冲突。本地是nginx配置的反向代理PHP-CGI就是用的9000端口

2.phpstorm中配置DBGp代理

DBGp Proxy 配置

IDE key: PHPSTORM

Host : localhost

Port : 9003

3. phpstorm中启动监听服务

4.启动nginx

phpstudy 集成环境,启动nginx的同时会自动启动php-cgi程序

浏览器访问 localhost/test.php

访问之前记得打断点 和启动监听服务

因为php.ini 中配置了自动触发debug :xdebug.remote_autostart=On 所以浏览器不需要装xdebug插件(扩展程序)也可以自动触发debug

用的是nginx 反向代理服务,是有超时时间的,如果debug时间比较的长,超时时间可以设置大一点,就不会出现HTTP 504 - Gateway Timeout

PS

谷歌浏览器的xdebug插件要FQ才能安装上,这里使用火狐浏览器的xdebug插件,如下图

其实在php.ini中配置了自动开启debug调试,所以我这里不使用插件也是可以的

总结

xdebug的运行原理,我也不清楚,只是会配置,会使用。具体里面的端口怎么通信、怎么监听,debug,trace,profiler 等原理有待去学习

参考:

https://blog.csdn.net/u013474104/article/details/78445316

https://xdebug.org/docs/step_debug

火狐浏览器debug 扩展选项

谷歌浏览器debug 扩展程序选项

posted @   ncsb  阅读(862)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示