phpstorm和xdebug的配置 变量的单步调试

1 debug的原理

Xdebug的工作原理可以总结为下面几个步骤
 
1)IDE(比如PhpStorm,下文所述的客户端)中已经集成了一个遵循BGDp协议(一个专门用来调试的协议)的Xdebug插件。当要debug的时候,点击一些IDE的某个按钮,启动这个插件。该插件会启动一个9000的端口监听远程服务器发过来的debug信息。
 
2)浏览器向Httpd服务器发送一个带有XDEBUG_SESSION_START参数的请求,Httpd收到这个请求之后交给后端的PHP进行处理(下面就忽略Httpd,直接把Php叫做Server)。
 
3)Php看到这个请求是带了XDEBUG_SESSION_START 参数,就告诉Xdebug,“嘿,我要debug喔,你准备一下”。这时,Xdebug这时会向来源ip客户端的9000端口(即客户端,也即是IDE)发送一个debug请求,然后客户端的9000端口响应这个请求,那么debug就开始了。
 
4)Php知道Xdebug已经准备好了,那么就开始开始一行一行的执行代码,但是每执行一行都会让Xdebug过滤一下。
 
5)Xdebug开始过滤代码,Xdebug在过滤每一行代码的时候,都会暂停代码的执行,然后向客户端的9000端口发送该行代码的执行情况,等待客户端的决策(是一句代码还是下一个断点待)。
 
6)相应,客户端(IDE)收到Xdebug发送过来的执行情况,就可以把这些信息展示给开发者看了,包括一些变量的值等。同时向Xdebug发送下一步应该什么。

2 找到自己的配置

 

3 修改php.ini

;extension=php_xdebug
zend_extension_ts= "F:\program\phpstudy_pro\Extensions\php\php5.6.9nts\ext\php_xdebug.dll"

xdebug.remote_autostart = On
xdebug.remote_enable = On
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9100

xdebug.remote_autostart = 1
xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = On 

4 使用

phpstorm和xdebug的配置 变量的单步调试

上一篇:PHP集成开发工具:PhpStorm 2021 for mac


下一篇:Xdebug+phpstorm配置[最新!!]