PHP+vscode开启调试debug

目录

配置PHP

  • 打开php.ini中添加xdebug扩展
ini 复制代码
[Xdebug]
zend_extension=D:/Code/skpanelN/V1.1/system/php/ext/php_xdebug.dll
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.auto_trace=Off
xdebug.profiler_enable=Off
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

配置VSCODE

安装PHP调试扩展(注意作者)

打开设置,指定php.exe地址

  • php 和 php debug都要设置


  • php和php debug的setting.json在一个地方,可以一起设置了,注意需要反斜杠

配置调试参数

  • 端口和之前ini设置一致就行

进行调试

  • PHP中添加断点

  • 开启调试

  • 刷新网页,到断点vscode闪动,点击单步

问题

  • 开启xdebug后PHP速度明显降低,是因为每次连接都要监听9000端口
  • 解决方法:
  • 自动触发改成按需触发
ini 复制代码
xdebug.remote_enable=1
xdebug.remote_autostart=0 #按需要触发

浏览器控制台触发

  1. 在页面打开 DevTools Console,执行:
js 复制代码
document.cookie = "XDEBUG_SESSION=VSCODE; path=/";
  • 然后 $.ajax({...}) 的 POST 请求会自动带上 cookie,断点就会命中。
  1. 关闭触发:
js 复制代码
document.cookie = "XDEBUG_SESSION=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";

VSCODE 只是一个 session 名字,你用 PHPSTORM 也行,关键是 cookie 名必须是 XDEBUG_SESSION。

get

?XDEBUG_SESSION_START=1

post

js 复制代码
$.ajax({
  url: sysapi.sys_api_fixedQueryHis + '?XDEBUG_SESSION_START=PHPSTORM',
  type: 'post',
  ...
});
js 复制代码
$.ajax({
  url: sysapi.sys_api_fixedQueryHis,
  type: 'post',
  contentType: 'application/json',
  dataType: 'json',
  headers: {
    'XDEBUG_SESSION': 'PHPSTORM'
  },
  data: JSON.stringify(param),
  ...
});

cookie插件

Xdebug Helper (Chrome/Edge)

选择 IDE key(常用 PHPSTORM),点 "Debug"

之后你所有请求(包括 AJAX POST)都会带上 cookie,断点就会命中。

相关推荐
caimouse2 小时前
reactos编码规范
c语言·开发语言
xieliyu.6 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
CryptoPP7 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
ZC跨境爬虫7 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
阳区欠8 小时前
【LangChain】LLM基础介绍
开发语言·python·langchain
Jinkxs8 小时前
Java 跨域14-Java 与区块链(Hyperledger)集成
java·开发语言·区块链
晨曦中的暮雨9 小时前
Golang速通(Javaer版)
java·开发语言·后端·golang
小小编程路9 小时前
Python 还有容器类型互转、进制转换、字符编码转换
开发语言·windows·python
qeen8710 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
CRMEB系统商城10 小时前
CRMEB多商户系统(Java)v2.3公测版发布
java·开发语言·人工智能·小程序·开源·php