一个把逻辑思维转变为代码的技能博主
你不用拼过聪明人,你只须要拼过那些
1.什么是Xdebug?Xdebug是一个开放源代码的PHP程序调试器,实在便是一个Debug工具而已 可以用来跟踪,调试、剖析PHP程序当前的运行状况!
2.为什么要利用Xdebug?
可能在项目开拓当中 当你的业务代码繁芜到一层又套一层的嵌套的时候, 或者说print_r 、 log 、 var_dump 这些打印方法也知足不了你的时候,并且你也没有在phpStorm中配置过Xdebug 那么我建议可以考试测验一下Xdebug来调试代码!
3.在window中如何下载与安装Xdebug 2.7.21.下载 Xdebug 2.7.2
提示: 不才载xdebug时,会有两种版本, 一种是带有TS, 其余一种则不带有TS,带"ts"是线程安全的意思, 紧张还是看php版本是否支持线程安全版本!
以是我们这里要先知道目前你安装的php版本是多少! 我的版本是php7.3.16带ts
如何检测当前php版本
在ide编辑器中新建一个test.php 然后输入以下代码:
echo phpinfo();
运行之后如图:
官方下载Xdebug 2.7.2
知道了当前php版本等信息之后我们就可以去下载xdebug了
打开官方地址:https://xdebug.org/ , 点击Install菜单选项
然后找到下面的Installing on Windows点击选择download
然后进行下载选择页面, 不才载页面中选择最下面的historical releases(历史版本) 如图:
进入historical releases(历史版本) 页面 这里我选择是Xdebug 2.7.2版本 发布日期是2019-05-06的
提示: 这里暂时不推举利用Xdebug3.x版本原因如下:1. 3.0跟2.0的配置参数写法有些不一样,并且并彻底修正了设置参数2. 如果你phpStorm版本比较低,那么 PhpStorm的检讨脚本可能还没有完备更新 利用Xdebug3.x版本集成还有一定的兼容性问题
自动剖析你系统对应的xdebug版本
当然如果你确实不知道当前php的版本,又
在这个页面中须要把你在ide中输入phpinfo()函数打印出的php版本信息利用ctrl+A全选粘贴到页面中的多行文本框中后,再点击Analyse my phpinfo() output 提交你的php信息 它会帮你剖析出最适宜你的xdebug版本!
如图
这个功能很知心的能够帮助你天生你要找的xdebug版本,
多说一句,虽然这里能够帮助你剖析出得当的xdebug版本, 但检测出来的版本也不一定便是匹配精确的! 如果涌现问题就多换几个低版本的试试!
那么我这里就下载的是php_xdebug-2.7.2-7.3-vc15-x86_64 下载完毕之后如下图:
2.安装 Xdebug2.7.2
将下载的php_xdebug-2.7.2-7.3-vc15-x86_64.dll文件移动到 X:\php7.3.16\ext目录下 当然如果你是一键php环境例如wamp、xampp等也就在他们的目录下找到对应php版本文件夹下的ext目录就可以了!找到php.ini文件编辑X:\php7.3.16\php.ini打开php.ini文件并在里面添加如下代码:
[xdebug];加载xdebug库文件zend_extension = "X:\php7.3.16\ext\php_xdebug-2.7.2-7.3-vc15-x86_64.dll"
把稳:
1. 这里的 X 指的是你自己的硬盘目录
2. 代码可以直接加在php.ini文件的末了
3.php.ini文件中增加的代码行等号前后有空格,值可以有双引号,当然也可以没有引号,但我个人建议加上
一定要重新启动apache网络做事器
到这里xdebug的下载和安装启用就完成了,重新在php代码中打印 phpinfo()函数 在打开的信息页面中如果有涌现下图效果才能解释安装精确!
4.Xdebug2.x 常见配置参数
我们安装启动好了xdebug之后 还须要对它进行一些参数上的配置, 我自己常用的配置参数如下表:
参数
值
建议值
描述
xdebug.auto_trace
On/Off 开启/关闭
On
是否开启 自动跟踪
xdebug.show_exception_trace
On/Off 开启/关闭
On
是否开启 非常跟踪
xdebug.remote_autostart
On/Off 开启/关闭
On
是否开启 远程调试自动启动
xdebug.remote_enable
On/Off 开启/关闭
On
是否开启 远程调试
xdebug.remote_host
ip地址 或 localhost
localhost
许可调试的客户端IP
xdebug.remote_port
(默认9000)
9001
远程调试的端口,如果默认端口被占用则可以可以改成其他端口!
xdebug.remote_handler
dbgp
dbgp
用于zend studio远程调试的运用层通信协议
xdebug.collect_vars
On/Off 开启/关闭
On
是否网络变量
xdebug.collect_return
On/Off 开启/关闭
On
是否网络返回值
xdebug.collect_params
On/Off 开启/关闭
On
是否网络参数
xdebug.trace_output_dir
绝对路径
x:\目录
跟踪调试数据输出路径
xdebug.profiler_enable
On/Off 开启/关闭
On
是否开启调试内容
xdebug.profiler_output_dir
绝对路径
x:\目录
调试结果输出路径
xdebug.max_nesting_level
数值
10000
函数递归调用自身次数, 设太小时会报超过最大嵌套数错
..........................................................
...............................................
.....................
php.ini中我的配置如下
[xdebug];加载xdebug库文件zend_extension = "E:\php7.3.16\ext\php_xdebug-2.7.2-7.3-vc15-x86_64.dll"xdebug.auto_trace="On"xdebug.show_exception_trace="On"xdebug.remote_autostart="On";开启远程调试xdebug.remote_enable = "1";客户机ipxdebug.remote_host = "localhost";客户机xdebug监听端口和调试协议xdebug.remote_port = "9001";用于zend studio远程调试的运用层通信协议xdebug.remote_handler = "dbgp"xdebug.collect_vars="On";是否开启调试内容xdebug.profiler_enable = "On"xdebug.trace_output_dir="E:\xdebug_tmp\debug.log"xdebug.profiler_output_dir="E:\xdebug_tmp\debug.log"
5.如何在本地phpStorm中配置xdebug2.x
1.配置端口(port)号
启动phpStorm随后在打开File--->Settings--->Languages & Frameworks(措辞与框架中)--->PHP---->Debug在显示的面板中设置端口,端口默认为9000,我们在php.ini中配置的多少这里就设置是多少!
如图
2.设置DBGp Proxy
打开File--->Settings--->Languages & Frameworks(措辞与框架中)--->PHP---->Debug---->DBGp Proxy
在DBGp Proxy中配置如下:
idekey便是在php.ini配置文件中设置的名字 (配置文件中没有 也没紧要!)
host是你的做事器ip或者是已经可以解析的域名,或者本地就直接写localhost 或 127.0.0.1也行
port可以自选,一样平常默认选80就好了
如图
3.手动添加一个Servers
打开File--->Settings--->Languages & Frameworks(措辞与框架中)--->PHP---->Servers
在涌现的对话框中 填写如下信息:
name 填写一个名称 随意都可以!
Host 填写配置当前做事器ip或localhost
port是默认80端口,也可以根据你的配置填写 你变动的web端口号
debug选 xdebug
4.测试xdebug2.x的配置是否成功!
再次打开File--->Settings--->Languages & Frameworks(措辞与框架中)--->PHP---->Debug
接着点击右边的Validate(验证)按钮 如下图:
会弹出Validate Debugger Configuration on Web Server(验证Web做事器调试器配置)对话框
创建一个调试做事,用于与真正做事器同步
Path to create Validation script: 是填写 创建验证脚本的路径,也便是你的做事站点路径地址
Url to validation script: 验证脚本的Url地址 也便是你的解析好的域名网络地址目录
如下图:
到此我们在phpSrorm中配置Xdebug2.x就完成了!
6.测试一下在本地利用Xdebug2.x来调试php代码在phpStorm中新建一个页面名为index.php 输入以下代码
for($i=0;$i<5;$i++){ echo $i;}echo "hello world";echo phpinfo();
然后选择Run菜单选项----->Debug, 在弹出对话框中选择index.php(PHP Script)
在phpStorm IDE右上角再中打开debug监听按钮, 如下图
现在就可以开始断点调试了! 比如先在要断点的代码处打断点标记
然后按下键盘上的shift+F9 或 直接点phpStorm IDE右上角的小虫图标
就可以断点调试了, 按下快捷键F9或者点击Resume Program(规复按钮) 进行根本断点调试
关于xdebug的详细利用我会在之后连续更新!
"点赞" "评论" "收藏"
大家的支持便是我坚持创作下去的动力!
如果以上内容有任何缺点或者不准确的地方,欢迎不才面 留个言指出、或者你有更好的想法,欢迎一起互换学习