phpstorm配置使用xdebug

步骤

  1. 配置php.ini,可参考:php开启xdebug扩展及xdebug通信原理

  2. 配置phpstorm

  3. 配置php debug

  4. 进行调试

配置phpstorm

 

 

 

 

 

 

 

 

 

 

2.5进行调试

  在需要调试的行上打上断点(点击一下行号后面的空白处即可,再点一次取消断点),需要说明的是当程序运行到该断点时,程序会停留在该行,但该行本身不会执行。自此可以查看程序运行到此处时所包含的所有数据信息。当然,查看信息功能相当于使用php中的var_dump。

   

  操作流程:

 

  打断点—>点击‘虫子’—>点击浏览器页面触发断点—>自动跳转回PhpStorm—>查看携带的数据(调试的目的)—>可按步执行查找问题点—>点击运行(或者F5)—>浏览器页面继续执行—>调试完成。

 

附加一篇在window上配置踩过的坑,做个笔记

环境:windows本机中用虚拟机linux跑的服务

按照上面流程配置完以后,发现怎么都不生效~~

首先在配置php.ini时添加调试日志记录

xdebug.remote_log="/tmp/xdebug.log"

可以通过日志来跟踪xdebug请求转发是否有误,成功会是下面截图

 

 

 之前一直转发不成功,是因为ip配置有误,修改为下面后,正常

xdebug.remote_host='192.168.110.1'

这个ip是当前虚拟机的在主机上的ip地址,可通过phpstrom中带有的验证功能来测试排错

OK,这样通过断点就可以来调试啦~~

dang....

每次用phpstorm调试的时候,总会在进入第一个文件的第一行自动打上断点。其次,才会进入到自己设置的断点出。。

解决方案如下:

附一个php.ini相关的xdebug配置

[xdebug]
;配置参考:https://segmentfault.com/a/1190000016325041
;全部配置:https://xdebug.org/docs/all_settings
;指定Xdebug扩展文件的绝对路径    
zend_extension ="/usr/local/webserver/php-7.3.16/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so"
;启用性能检测分析    
xdebug.profiler_enable=1
;启用代码自动跟踪    
xdebug.auto_trace=on  
;允许收集传递给函数的参数变量    
;xdebug.collect_params=On  
;允许收集函数调用的返回值    
;xdebug.collect_return=On  
;指定堆栈跟踪文件的存放目录    
xdebug.trace_output_dir="/tmp/xdebug"  
;指定性能分析文件的存放目录    
xdebug.profiler_output_dir="/tmp/xdebug"  
xdebug.profiler_output_name="cachegrind.out.%p"  
;是否开启远程调试,boolean
xdebug.remote_enable=1
;开启后,将不再使用特定的HTTP GET / POST变量来启动远程调试
;Normally you need to use a specific HTTP GET/POST variable to start remote debugging (see Step Debugging). When this setting is set to 1, Xdebug will always attempt to start a remote debugging session and try to connect to a client, even if the GET/POST/COOKIE variable was not present.
; xdebug.remote_autostart=1
;Can only be 'dbgp' to represent the debugger protocol. The DBGp protocol is the only supported protocol.
xdebug.remote_handler=dbgp  
; xdebug.remote_host=localhost
; xdebug.remote_host='192.168.110.100'
xdebug.remote_host='192.168.110.1'
; xdebug.remote_host=vmv3nfapi.saas.com
; xdebug.remote_host=vmdemo.com
xdebug.remote_port=9000
;指定传递给DBGp调试器处理程序的IDE Key
xdebug.idekey="PHPSTORM"
xdebug.remote_log="/tmp/xdebug.log"

 

 

 

 

posted on 2020-02-12 22:42  爱吃柠檬不加糖  阅读(269)  评论(0编辑  收藏  举报

导航