# 前言
PhpStorm 里面的功能太多了,其中的调试功能也容易让人摸不着头脑
这里记录下 PhpStorm 配置和使用 xdebug 调试的过程
参考链接
- https://www.jetbrains.com/help/phpstorm/debugging-with-phpstorm-ultimate-guide.html#quick-start
# 准备工作
- php 安装 xdebug 拓展 (2.x 和 3.x 的配置有区别)
- 浏览器安装 xdebug 插件 (以 chrome 为例,需要科学上网) Xdebug Helper
- PhpStorm (当前版本 2022.1.4 影响不大看个人)
# php.ini Xdebug 配置
[xdebug] | |
zend_extension="<path to xdebug extension>" | |
xdebug.remote_enable=1 | |
xdebug.remote_host=127.0.0.1 | |
xdebug.remote_port="<the port (9000 by default) to which Xdebug connects>" |
[xdebug] | |
zend_extension="<path to xdebug extension>" | |
xdebug.mode=debug | |
xdebug.client_host=127.0.0.1 | |
xdebug.client_port="<the port (9003 by default) to which Xdebug connects>" |
以我的开发环境为例 xdebug 2.x (共享文件夹,本地目录映射虚拟机为例)
remote_host=192.168.0.* (个人 PC 的局域网 ip 地址)
remote_port=19000 (端口默认 9000) 可以自定义设置端口,只要不冲突就行
额外参数介绍
开启 xdebug 时,默认 overload_var_dump=2,因为习我惯 var_dump () 默认的打印,可以设置 0 关掉
xdebug.overload_var_dump=0PhpStorm 支持在 Just-In-Time (JIT) 模式下使用 Xdebug, 默认 xdebug.remote_mode=req 一般情况不用设置
xdebug.remote_mode=jit通过 DBGP 代理进行多用户调试
官网描述
xdebug.idekey 设置并为其指定一个您选择的值。此值将用于在 Xdebug 代理服务器上注册您的 IDE。
xdebug.remote_host 设置 dbgp_proxy_hostname_or_ip
(具体没试过,不会用到多用户调试,所以看之前别人的教程,一般调试,这个根本不用设置)
# PhpStorm 配置
PhpStorm 支持使用两种最流行的工具进行调试:Xdebug 和 Zend Debugger, 这里介绍 Xdebug
使用 PhpStorm,可以通过 主菜单 运行 / 调试配置 或 不使用它来启动 PHP 调试会话。后一种方法也称为零配置调试。
# 在 PhpStorm 中配置 Xdebug
首先在 主菜单 文件 / 配置 | PHP > 调试 配置中
主要配置就 Xdebug 里的调试端口号 要和 php.ini 的一致 也可以填写多个用逗号分隔 如 9000,9003,19000
其他设置默认就行
# 零配置调试
在零配置调试的情况下,您不需要创建任何调试配置。
相反,您在浏览器中手动打开 PHP 应用程序的起始页面,然后从浏览器激活调试引擎,同时 PhpStorm 侦听传入的调试器连接。
# 浏览器激活调试引擎
# PhpStorm 侦听传入的调试器连接
# 启动调试会话
在浏览器中重新加载页面并返回到 PhpStorm,弹出对话框,选择接受 图 1
此时会自动创建一个服务器配置 可以在主菜单 文件 / 设置 | PHP > 服务器 查看 图 2
重新加载页面,发现还是没有进入调试模式
查看配置后发现,映射路径只映射了 public 目录,手动加上了根目录的映射后,打上断点,再次重新加载,成功进入调试会话 图 3
图 1
图 2
图 3
# 根据配置模板创建配置调试
# 手动创建服务器配置
上面讲到零配置调试,会自动创建一个服务器配置,如果已经有了就不需要创建,没有则手动创建一个
(主菜单 文件 / 设置 | PHP> 服务器)
因为我的环境在 linux 虚拟机里,所以需要做映射
- 主机填项目的 ip 或者 域名 (测试 ip 需要做映射)
- 端口号 (项目的端口号)
- 调试器选择 (xdebug)
# 使用 PHP 网页调试配置进行调试 (PHP web page)
从主菜单中,选择 运行 / 编辑配置。
点击左上角 + 选择模板 PHP 网页 (PHP web page),开始配置
配置完成后点击右上角的加调试按钮
自动打开浏览器,开始调试
- 选择刚刚配置好的服务器
- 起始也看个人,一般默认 /
- 选择浏览器,看个人
# 使用 PHP 远程调试配置进行调试 (PHP Remote Debug)
从主菜单中,选择 运行 / 编辑配置。
点击左上角 + 选择模板 PHP 远程调试 (PHP Remote Debug),开始配置
配置完成后点击右上角的加调试按钮,启动调试会话
需要手动打开网站,并且需要设置浏览器 xdebug 插件
右键 xdebug 图标,展开下拉菜单,点击” 选项 “,IDE 密钥选择 phpstorm
这样就能开始调试了
- 选择刚刚配置好的服务器
- IDE 键 (会话 ID) 自定义填写 一般填 PHPSTORM,以对应浏览器 xdebug 插件的 IDE 密钥
配置窗口
浏览器 xdebug 插件 选项配置
# 总结
- 零配置调试
只要开启右上角监听调试的开关,和启用浏览器插件 xdebug
重新加载网页,就能进入调试会话 (并且会自动创建一个服务器配置)
- PHP 网页调试
需要手动创建服务器配置
点击右上角,调试按钮,能自动打开网页
会自动创建 为数字的 IDE key
- PHP 远程调试
需要手动创建服务器配置
点击右上角,调试按钮,需要手动打开网页
并且预设的 IDE key 需要和浏览器插件 xdebug 内 IDE key 的相同