Yasd 是什么?
Yasd(Yet another swoole debug)是一款PHP调试器,支持FPM、Swoole协程等环境下的调试。并且可以在终端或者IDE中进行调试。
安装教程
基本操作流程可参考官网的指南 Yasd调试器官方文档
在 phpstorm 中的使用问题
不少小伙伴会发现,一顿猛如虎操作的下来后,发现依然进入不了调试模式。焦头烂额之际,查找官方文档,常见问题描述如下:
官方提供的方案
-
使用了代理类
例如hyperf框架,如果程序实际上执行的是代理类,需要在代理类里面打断点。 -
程序跑在虚拟机里面
因为断点是由文件的绝对路径+行号决定的。如果虚拟机和宿主机的项目路径不一样,就会导致断点不被触发。我们需要去配置IDE的path mapping来解决这个问题。 -
项目目录使用了软连接
如果项目目录使用了软连接,会导致断点失效。我们需要去配置IDE的path mapping来解决这个问题。 -
代码热更新
如果使用了Swoole的热更新机制,会导致断点失效。我们要关闭Swoole的热更新功能。