PhpStorm配置Xdebug教程

804 阅读2分钟

教程# 2024年更新,PhpStorm配置Xdebug最完整最详解教程

我的环境

windows10 、 phpEnv 集成环境、phpstorm

配置xdebug扩展

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

xdebug2.x版本php.ini配置如下:

zend_extension = php_xdebug.dll
xdebug.remote_enable = On
xdebug.remote_host = localhost
xdebug.remote_port = 9100

xdebug3.x版本php.ini配置如下:

[xdebug]
zend_extension = php_xdebug.dll
xdebug.mode = debug
xdebug.client_host = localhost
xdebug.client_port = 9100
xdebug.remote_autostart = On

xdebug官网下载地址:xdebug.org/download.ph…
或者:pecl.php.net/package/xde…

扩展一定要装对,注意区分ts和nts版本,phpinfo()查看扩展是否成功。
推荐 phpEnv集成环境 ,自带xdebug扩展和多版本php

下载成功后解压,把php_xdebug.dll 文件放到扩展目录,最后在php.ini文件增加配置信息

PixPin_2024-08-03_10-04-13.jpeg

PixPin_2024-08-03_10-04-00.jpeg

设置PhpStorm

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

image.png

然后找到 PHP -> Servers

image.png

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

image.png

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

image.png

触发断点调试

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

image.png

触发PhpStorm的debug方式主要有两种

  1. GET、POST存在XDEBUG_SESSION_START 参数或者cookie里存在XDEBUG_SESSION,单用户调试 值随意。GET、POST会生成cookie XDEBUG_SESSION,有效期为1个小时(可修改php.ini配置)。很多教程需要下载Xdebug helper等浏览器插件,原理就是请求里附加cookie。
  2. php.ini 文件 xdebug.remote_autostart 参数设置为 On 或者1,无需设置GET、POST、cookie。(不推荐,虽然不需要设置参数,设置针对环境,而不是项目,还要重启php环境)

浏览器调试

针对第 1 种,教大家用一种更简单的方式,不需要下载浏览器插件。

找到PhpStorm右上角.

image.png

image.png

然后点小甲虫图标,

image.png

会打开浏览器访问你的url,并且携带GET参数XDEBUG_SESSION_START,同时生成cookie XDEBUG_SESSION,也就是说,下次(cookie有效期1小时)无需点击小甲虫,浏览器直接输入,如 www.tp8.com/index.php/I… 即可触发调试

image.png

Postman接口调试

针对第 1 种,Postman触发方式如图

image.png

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

原文链接:segmentfault.com/a/119000001…