windows安装xdebug扩展
1.下载对应版本的xdebug
2.解压缩将.dll文件复制到对应版本的PHP目录下
扩展目录ext
3.配置php.ini
-
[Xdebug]
-
xdebug.profiler_output_dir=
"D:\www\PHPTutorial\tmp\xdebug"
-
xdebug.trace_output_dir=
"D:\www\PHPTutorial\tmp\xdebug"
-
zend_extension=
"D:\www\PHPTutorial\php\php-5.6.27-nts\ext\php_xdebug.dll"
-
xdebug.remote_enable=on
-
xdebug.remote_handler=dbgp
-
xdebug.remote_host=127.0.0.1
-
xdebug.remote_port=9001
-
xdebug.remote_log=
"D:\www\PHPTutorial\tmp\xdebug\xdebug.log"
Sublime text 安装xdebug
1.首先下载xdebug插件
ctrl + shift + p 输入 ins
然后搜索xdebug
2.配置
首选项/Package setting/xdebug/setting-User 编辑此文件
-
{
-
"url":
"http://php.com",
-
"port":9001,
-
}
这里的端口要和php.ini中的保持一致,如果端口与别的进程冲突,那就换其他的端口号。
url你要调试的项目的本地访问地址,这个是必须配置的,否则xdebug是无效的
3.测试
①鼠标右键 添加和删除断点,ctrl + F8 也可以
②ctrl + shift + F9 启用xdebug
在浏览器上先打开,再在编辑器中调试
http://php.com/?XDEBUG_SESSION_START=sublime.xdebug
你配什么地址,替换一下打开就行
或者找到工具栏,移动到xdebug,里面也有启动,选择Launch Browser
或者 ctrl + shift + p 输入 xd ,选择Launch Browser
浏览器先打开,再调试
- Run: ctrl + shirt + F5 (执行下一个断点)
- Step Over: ctrl + shift + F6 (一行代码一行代码的走,不会进去函数里面)
- Step Into: ctrl + shift + F7 (一行代码一行代码的走,遇到函数会进去里面一步一步执行,这时候在函数里面也可以使用Step Over或者继续Step Into)
- Step Out: ctrl + shift + F8 (配合Step Into,直接执行完函数剩余部分出来 。)
- Stop: 停止执行 (通过浏览器可以继续下一轮)
- Stop Debugging: ctrl + shift + F10 (f停止运行xdebug, 不开启xdebug是不能进行断点调试的)
- ctrl + shift + F11 停止后收起面板(有时候收起会出现问题,也可以使用alt + shift + 1)
单步调试 step into/step out/step over 区别
step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数);
step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。有一点,经过我们简单的调试,在不存在子函数的情况下是和step into效果一样的(简而言之,越过子函数,但子函数会执行)。
step out:当单步执行到子函数内时,用step out就可以执行完子函数余下部分,并返回到上一层函数。