PhpStorm配置Xdebug最完整最详解教程
标签搜索
PHP

PhpStorm配置Xdebug最完整最详解教程

iprub
2024-04-02 / 0 评论 / 478 阅读 / 正在检测是否收录...

前言

很多人好奇网上关于php配置xdebug的教程那么多,为什么我还要写这篇文章?
因为网上的教程配置很乱,很多都是复制粘贴,有些配置项根本不需要,也不解释干嘛的,而且不够详细。

本教程主要应用于WindowsMacLinux基本上同理。

配置xdebug扩展

只配置Debug,不配置profilertraceprofilertrace干嘛的请百度。
因为大多数情况下是单用户调试,所以不需要配置多用户参数,
如:php.ini文件xdebug.idekey参数和PhpStormDebug -> DBGp Proxy

所以php.ini大概配置如下:

zend_extension= php_xdebug.dll

xdebug.remote_enable=On

xdebug.remote_host=127.0.0.1

xdebug.remote_port=9100

xdebug官网下载地址:https://xdebug.org/download.php
扩展一定要装对,注意区分tsnts版本,phpinfo()查看扩展是否成功。
推荐 phpEnv集成环境 ,自带xdebug扩展和多版本php

设置PhpStorm

打开PhpStorm,菜单File -> Settings,然后找到 Languages & Frameworks -> PHP -> Debug
设置Debug port9100
为什么不是9000?因为会和一些集成环境的php-cgi或者php-fpm端口冲突.

图片描述

然后配置Languages & Frameworks -> PHP -> Servers
图片描述

然后找到PhpStorm右上角电话图标,开始监听php debug的链接

图片描述

打开 phpEnv集成环境 TCP端口进程列表,有9100端口,说明监听成功

图片描述

触发断点调试

在你需要的代码处打断点,这是基础和必须,就不多介绍了。
图片描述

触发PhpStormdebug方式主要有两种

  1. GETPOST存在XDEBUG_SESSION_START 参数或者cookie里存在XDEBUG_SESSION,单用户调试 值随意。GETPOST会生成cookie XDEBUG_SESSION,有效期为1个小时(可修改php.ini配置)。很多教程需要下载Xdebug      helper等浏览器插件,原理就是请求里附加cookie

  2. php.ini文件 xdebug.remote_autostart 参数设置为On或者1,无需设置GETPOSTcookie。(不推荐,虽然不需要设置参数,设置针对环境,而不是项目,还要重启php环境)

浏览器调试

针对1,教大家用一种更简单的方式,不需要下载浏览器插件。
找到PhpStorm右上角
图片描述
图片描述
然后点小甲虫图标
图片描述
会打开浏览器访问你的url,并且携带GET参数XDEBUG_SESSION_START,同时生成cookie XDEBUG_SESSION,也就是说,下次(cookie有效期1小时)无需点击小甲虫,浏览器直接输入,如www.a.comwww.a.com/chat/1/即可触发调试

图片描述

Postman接口调试

针对1Postman触发方式如图

可以直接添加GETPOST参数,在请求结束后,会自动附加cookie XDEBUG_SESSION,也可以手动添加cookie XDEBUG_SESSION

 


0

评论 (0)

取消