PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

图文详解PHPSTORM Xdebug的配置使用

藏色散人
藏色散人 转载
2023-02-03 15:10:16 2421浏览

本篇文章给大家带来了关于phpstorm xdebug的相关知识,其中主要介绍了phpstorm xdebug是怎么配置使用的,下面一起来看一下,希望对需要的朋友有所帮助。

写在前面

PHP 因为天生自带“热加载”的优势,可能很多 phper 都很少使用 php 的 debug 功能吧。反正我已经很久很久很久没有用过 debug 了,回忆起来也该有5,6年了。。。

但对于新手 phper 来说,没有什么比 debug 更友好了。毕竟以前入门 php 的时候,它也是陪我走了不少岁月出了不少力,说是排坑解决问题的一大神器也不为过了。

下面简单记录一下 phpstorm Xdebug 的配置使用,希望对你有所帮助!

原理简要

e00fb5535a2ebc5af0d2a6319f06307.jpg

简单 C/S 理解:一个客户端(Client)、一个服务端(Server)

检查安装

检查并安装当前 php 版本的 Xdebug 扩展,php 扩展安装就不说了

D:\www\oa2>php -m | find "Xdebug"Xdebug

配置 php.ini debug 参数

[XDebug]zend_extension="php_xdebug.dll"xdebug.idekey="PHPSTORM"xdebug.remote_enable =1xdebug.remote_handler =dbgp
xdebug.remote_host =127.0.0.1xdebug.remote_port=9011xdebug.max_nesting_level=256xdebug.mode=debug,trace

PHPSTORM 设置

进入phpstorm设置菜单(Ctrl+Alt+S),选择 Languages & Frameworks => PHP, 设置 CLI Interpreters;

ebd845be96390bbb51ed0c6a1be7d54.jpg

f4ee3e19525084bbba5085d5a1d5e0a.jpg

选择 PHP => Debug, 设置debug端口,同 php.ini 设置的 xdebug.remote_port=9011
c03f0da624f6417369fcca417722c2e.jpg

当前页面点击 Validate 按钮,验证是否配置成功
51f3e9be93b442f6d4bd2f9758249ed.jpg

选择 PHP => Server, 配置server
ce644426dd9f892f24a82844683a4ab.jpg

设置 Debug Configurations
2fcb8496a37d6ea154cbd33b27091b2.jpg

到这里就基本就ok了,最后写个 demo 开启监听,编辑断点,来试试 debug 的效果吧
64f8b7cfbbbe5b9fe672ed3b4439b52.jpg

接口调试

使用接口工具请求 API 时需添加参数:XDEBUG_SESSION_START=TRUE
如:laravel5.com/api/test?XDEBUG_SESSION_START=TRUE
或者添加站点Cookie: XDEBUG_SESSION=TRUE;
56fb0d33bb086a3fbca6c59aa532cc0.jpg

浏览器调试请安装 Xdebug helper 插件
命令行的 debug 就更简单了,实际就是配置一个 php 运行脚本
如:生成一个 artisan 测试脚本,打好断点,运行 debug 即可
f78994bfd8a727bc2a8cb24184bc362.jpg

疑问

如何配置远程debug呢?
在上面的“设置 Debug Configurations”中,我选择的是“PHP Web Page”。还可以选择“PHP Remote Debug”,也支持本地 debug, 同时还支持远程 debug, 此选项需多配置一个 IDE Key。
远程 debug 其实是一样的,稍微多一步配置:远程代码与本地代码的映射,仅此而已!
7220fdd5915d12ad36d41084f105fc9.jpg87a90f62eb27d143b1e7b5e2e18e95e.jpg

因远程 debug 几乎很少用到,就不详细截图了。有兴趣的小伙伴可以自己试试,说不定哪天就用到了。。。

推荐学习:《phpstorm使用教程

声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除