调试工具:Yasd或Sdebug 在 phpstorm + hyperf 中使用的注意事项

在 phpstorm 中的使用问题

不少小伙伴会发现,一顿猛如虎操作的下来后,发现依然进入不了调试模式。焦头烂额之际,查找官方文档,常见问题描述如下:

官方提供的方案

  1. 使用了代理类 例如hyperf框架,如果程序实际上执行的是代理类,需要在代理类里面打断点。
  2. 程序跑在虚拟机里面 因为断点是由文件的绝对路径+行号决定的。如果虚拟机和宿主机的项目路径不一样,就会导致断点不被触发。我们需要去配置IDE的path mapping来解决这个问题。
  3. 项目目录使用了软连接 如果项目目录使用了软连接,会导致断点失效。我们需要去配置IDE的path mapping来解决这个问题。
  4. 代码热更新  如果使用了Swoole的热更新机制,会导致断点失效。我们要关闭Swoole的热更新功能。

方案的补充

  1. debug 模式启动规则 这里以 hyperf 的启动为例,debug 模式不能像以往一样操作 phpstorm 的 debug 按钮,需要使用 -e 参数启动
php -e bin/hyperf start

      2.debug 端口号的占用

        不少人一开始是使用 debug 按钮尝试去开启 debug 模式,发现无效停止后,其实 debug 口端号依然开着

        a. 可以在 phpstorm 右上功能栏查看的 debug 状态,如果提示 Stop Listening for PHP Debug                 Connections,说明还开着,需要手动关闭

        b. 通过 lsof 命令判断是否占用假设 debug 的端口号为 9000

                lsof -i:9000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值